phpcms v9后臺添加文章時選擇相關(guān)文章可調(diào)用其它模型信息的方法
不過這個解決方法修改了一些文件,你可以根據(jù)自己的要求酌情使用。。我在這里也詳細(xì)說一下解決思路,以便后來人參考學(xué)習(xí)。
PHPCMSV9的相關(guān)文章,我們知道只有同模型的文章才可以選擇。其他模型的文章是選擇不成的,可以通過修改模型字段中的“相關(guān)參數(shù)”來實現(xiàn)選擇不同的 模型的文章,但這種方法其實只是實現(xiàn)了一半,雖然能選擇了,但是選擇保存后,再進入編輯是不會顯示的,基本相當(dāng)于沒有實現(xiàn)嘛。
說一下我的解決方法。
以我的項目,舉個例子。有兩個模型,設(shè)計師(模型ID是1),設(shè)計案例(模型ID為2). 他們的模型ID很重要,后面要用到的。
我要在設(shè)計師的內(nèi)容中添加設(shè)計案例的內(nèi)容作為設(shè)計師的相關(guān)作品。
首先,在模型管理的設(shè)計師模型中,修改相關(guān)文章的“相關(guān)參數(shù)”這里面的值。
找到這行語句,把
<input type='button' value="添加相關(guān)" onclick="omnipotent('selectid','?m=content&c=content& a=public_relationlist&modelid={MODELID}','添加相關(guān)文章',1)" class="button" style="width:66px;">
修改為:
<input type='button' value="添加相關(guān)" onclick="omnipotent('selectid','?m=content&c=content&a=public_relationlist&modelid=2','添加相關(guān)文章',1)" class="button" style="width:66px;">
其實只是把上面的 {MODELID} 換成了目標(biāo)模型ID(設(shè)計案例模型的ID)罷了。
這一步已經(jīng)可以實現(xiàn)了選擇不同模型的文章。
接下來解決選擇后保存后再進入編輯不會顯示的問題。
還是找到型管理的設(shè)計師模型中,修改相關(guān)文章的“相關(guān)參數(shù)”這里面的值。
把
<input type='button' value="顯示已有" onclick="show_relation({MODELID},{ID})" class="button" style="width:66px;">
修改為:
<input type='button' value="顯示已有" onclick="show_relation(1,2,{ID})" class="button" style="width:66px;">
注意第一行的 onclick="show_relation({MODELID},{ID})"
我把他修改為了 onclick="show_relation(1,2,{ID})" , 這里我有必要解釋一下, {MODELID}是調(diào)用本文章的所屬模型ID
我修改為show_relation(1,2,{ID}),懂的朋友一看就知道,我多了一個參數(shù)。為什么多了一個參數(shù)呢,上面也說到了,默認(rèn)只有同模型的文章可以選擇,所以這里做了一個目標(biāo)模型ID。第一個參數(shù)是源模型ID,第二個參數(shù)是目標(biāo)模型ID。
這里面修改后保存。
show_relation()這個是JS函數(shù),既然多了一個參數(shù),那我們也要修改JS文件嘍。
找到statics/js/content_addtop.js的153,154行左右.為
function show_relation....
$.getJSON("?m=content;..........
我把這兩行修改為了:
function show_relation(modelid,target_modelid,id) {
$.getJSON("?m=content&c=content&a=public_getjson_ids&modelid="+modelid+"&target_modelid="+target_modelid+"&id="+id, function(json){
JS修改過后,接下來我們修改最后的PHP文件。
找到\phpcms\modules\content\content.php 574行左右,也就是public function public_getjson_ids()這行左右。
在$modelid = intval($_GET['modelid']); 行后換行加入:
$target_modelid = intval($_GET['target_modelid']);
在586行也就是$infos = array();這行后面換行加入:
$this->db->set_model($target_modelid);
$this->model = getcache('model', 'commons');
$this->db->table_name = $this->db->db_tablepre.$this->model[$target_modelid]['tablename'];
其中的“$this->db->table_name = $tablename;” 這一行是被上面第三行替換了。
OK。大功告成。
因為已經(jīng)破壞了原生的相關(guān)文章功能了。如果你以后再使用相關(guān)文章的功能時,要記得先到模型的字段中的“相關(guān)參數(shù)”的值哦。
在前臺調(diào)用相關(guān)文章時,用下列標(biāo)簽:
if $relation!=''}
{php $rel = explode('|',$relation);}
{loop $rel $design_id} </p> <p> {pc:get sql="select title,id,url,thumb from v9_design where id=$design_id"}
{loop $data $r}
<td class="pr5"><a title="{$r[title]}" target="_blank"><img src="https://www.jb51.net/blog/{$r[thumb]}" width="190" height="120" class="imgborder" alt="{$r[title]}" /></a><p class="mt5"><a title="{$r[title]}" target="_blank">{str_cut($r[title],'32')}</a></p></td>
{/loop}
{/pc}</p> <p>{/loop}
{/if}
上一篇:phpcms V9實現(xiàn)qq登陸oauth2.0的方法
欄 目:phpcms
下一篇:PHPCMS開啟全文搜索(sphinx)后搜索無效的解決方法
本文標(biāo)題:phpcms v9后臺添加文章時選擇相關(guān)文章可調(diào)用其它模型信息的方法
本文地址:http://mengdiqiu.com.cn/a1/phpcms/9802.html
您可能感興趣的文章
- 01-10phpcms常見問題解答
- 01-10phpcms語法規(guī)則
- 01-10PHPCMS網(wǎng)站轉(zhuǎn)移空間教程
- 01-10PHPCMS2008 SP4 心情排行指數(shù)不顯示的解決辦法
- 01-10phpcms頻道首頁調(diào)用所有一級欄目及二級欄目
- 01-10phpcms標(biāo)簽?zāi)0寮皩n}模板的制作
- 01-10PHPCMS系統(tǒng)自帶標(biāo)簽說明
- 01-10為PHPCMS 2008 編輯器增加常用中文字體方法
- 01-10PHPcms 2008 注冊選擇模型關(guān)閉后,注冊不能自動登錄的問題
- 01-10phpcms模仿QQ和MSN消息提示的效果


閱讀排行
本欄相關(guān)
- 01-10phpcms常見問題解答
- 01-10phpcms語法規(guī)則
- 01-10PHPCMS2008 SP4 心情排行指數(shù)不顯示的解
- 01-10PHPCMS網(wǎng)站轉(zhuǎn)移空間教程
- 01-10PHPCMS系統(tǒng)自帶標(biāo)簽說明
- 01-10phpcms標(biāo)簽?zāi)0寮皩n}模板的制作
- 01-10phpcms頻道首頁調(diào)用所有一級欄目及二
- 01-10PHPcms 2008 注冊選擇模型關(guān)閉后,注冊
- 01-10為PHPCMS 2008 編輯器增加常用中文字體
- 01-10phpcms模仿QQ和MSN消息提示的效果
隨機閱讀
- 01-10delphi制作wav文件的方法
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10C#中split用法實例總結(jié)
- 04-02jquery與jsp,用jquery
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文