欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

phpcms v9后臺添加文章時選擇相關(guān)文章可調(diào)用其它模型信息的方法

  發(fā)布時間:2014-04-25 16:38:07   作者:佚名   我要評論
因為業(yè)務(wù)需要,模型A中的內(nèi)容要選擇模型B中的內(nèi)容的作為相關(guān)文章,在論壇也搜索過,基本上這個問題沒有人解決。研究了一番,最終得以解決

不過這個解決方法修改了一些文件,你可以根據(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ù)”這里面的值。
找到這行語句,把

復(fù)制代碼
代碼如下:

<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;">

修改為:

復(fù)制代碼
代碼如下:

<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ù)”這里面的值。


復(fù)制代碼
代碼如下:

<input type='button' value="顯示已有" onclick="show_relation({MODELID},{ID})" class="button" style="width:66px;">

修改為:

復(fù)制代碼
代碼如下:

<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。

這里面修改后保存。

復(fù)制代碼
代碼如下:

show_relation()這個是JS函數(shù),既然多了一個參數(shù),那我們也要修改JS文件嘍。
找到statics/js/content_addtop.js的153,154行左右.為
function show_relation....
$.getJSON("?m=content;..........

我把這兩行修改為了:

復(fù)制代碼
代碼如下:

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']); 行后換行加入:

復(fù)制代碼
代碼如下:

$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)簽:

復(fù)制代碼
代碼如下:

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 href="http://www.dbjr.com.cn/blog/{$r[url]}" title="{$r[title]}" target="_blank"><img src="http://www.dbjr.com.cn/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}

相關(guān)文章

最新評論