星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
在做phpcms 2次開發的時候,需要新增模型。但是如何關聯其它模型的文章呢?
下面帶你一步步修改吧!
依次點選內容->模型管理->新增模型,模型名稱和模型表鍵名按自己需要填寫,其它不用修改。
找到剛才新增的模型,開啟欄位管理,新增自定義欄位,欄位型別選擇萬能欄位,欄位名可以自己取,接著修改系統預設的relation欄位表單程式碼如下:
<input type='hidden' name='info[換成你的欄位名]' id='換成你的欄位名' value='{FIELD_VALUE}' style='50' ><ul class="list-dot" id="換成你的欄位名_text"></ul><div><input type='button' value="新增相關" onclick="omnipotent('selectid','?m=content&c=content&a=public_relationlist&modelid=1&modelname=換成你的欄位名','新增相關文章',1)" class="button" style="width:66px;"><span class="edit_content"><input type='button' value="顯示已有" onclick="show_myrelation(當前模型ID,目標模型ID,{ID},'換成你的欄位名')" class="button" style="width:66px;"></span></div>
其它預設即可。
開啟網站根目錄檔案staticsjscontent_addtop.js,修改remove_relation函數:
function remove_relation(sid,id,modelname) {var relation_ids = $('#'+modelname).val();if(relation_ids !='' ) {$('#'+sid).remove();var r_arr = relation_ids.split('|');var newrelation_ids = '';$.each(r_arr, function(i, n){if(n!=id) {if(i==0) {newrelation_ids = n;} else { newrelation_ids = newrelation_ids+'|'+n;}}});$('#'+modelname).val(newrelation_ids);}}
接著修改show_relation函數:
function show_relation(modelid,id,fieldname) {$.getJSON("?m=content&c=content&a=public_getjson_ids&modelid="+modelid+"&id="+id, function(json){var newrelation_ids = '';if(json==null) {alert('沒有新增相關文章');return false;}$.each(json, function(i, n){newrelation_ids += "<li id='"+n.sid+"'>·<span>"+n.title+"</span><a href='javascript:;' class='close' onclick="remove_relation('"+n.sid+"',"+n.id+",'"+fieldname+"')"></a></li>";});$('#relation_text').html(newrelation_ids);}); }
新增show_myrelation函數
function show_myrelation(modelid,modelid2,id,fieldname) {$.getJSON("?m=content&c=content&a=public_getjson_ids2&modelid="+modelid+"&modelid2="+modelid2+"&id="+id+"&fieldname="+fieldname, function(json){var newrelation_ids = '';if(json==null) {alert('沒有新增相關文章');return false;}$.each(json, function(i, n){newrelation_ids += "<li id='"+n.sid+"'>·<span>"+n.title+"</span><a href='javascript:;' class='close' onclick="remove_relation('"+n.sid+"',"+n.id+",'"+fieldname+"')"></a></li>";});$('#'+fieldname+'_text').html(newrelation_ids);}); }
開啟phpcmsmodulescontentcontent.php檔案,修改:
public_relationlist函數,在$infos = $this->db->listinfo($where,'',$page,12);這句上面增加一句
$modelname=$_GET['modelname'];
新增函數public_getjson_ids2:
public function public_getjson_ids2() {$modelid = intval($_GET['modelid']);$modelid2 = intval($_GET['modelid2']);$fieldname = $_GET['fieldname'];$id = intval($_GET['id']);$this->db->set_model($modelid);$tablename = $this->db->table_name;$this->db->table_name = $tablename.'_data';$r = $this->db->get_one(array('id'=>$id),$fieldname);if($r["{$fieldname}"]) {$myrelation = str_replace('|', ',', $r["{$fieldname}"]);$myrelation = trim($myrelation,',');$where = "id IN($myrelation)";$infos = array();$this->db->set_model($modelid2);$this->model = getcache('model', 'commons');$this->db->table_name = $this->db->db_tablepre.$this->model[$modelid2]['tablename'];//$this->db->table_name = $tablename;$datas = $this->db->select($where,'id,title');foreach($datas as $_v) {$_v['sid'] = 'v'.$_v['id'];if(strtolower(CHARSET)=='gbk') $_v['title'] = iconv('gbk', 'utf-8', $_v['title']);$infos[] = $_v;}echo json_encode($infos);}}
開啟phpcmsmodulescontenttemplatesrelationlist.tpl.php檔案,修改:
<?php foreach($infos as $r) { ?><tr onclick="select_list(this,'<?php echo safe_replace($r['title']);?>',<?php echo $r['id'];?>,'<?php echo $modelname;?>')" class="cu" title="<?php echo L('click_to_select');?>"><td align='left' ><?php echo $r['title'];?></td><td align='center'><?php echo $this->categorys[$r['catid']]['catname'];?></td><td align='center'><?php echo format::date($r['inputtime']);?></td></tr> <?php }?>
還有下面的js程式碼:
<SCRIPT LANGUAGE="JavaScript"><!--function select_list(obj,title,id,modelname) {var relation_ids = window.top.$('#'+modelname).val();var sid = 'v<?php echo $modelid;?>'+id;if($(obj).attr('class')=='line_ff9966' || $(obj).attr('class')==null) {$(obj).attr('class','line_fbffe4');window.top.$('#'+sid).remove();if(relation_ids !='' ) {var r_arr = relation_ids.split('|');var newrelation_ids = '';$.each(r_arr, function(i, n){if(n!=id) {if(i==0) {newrelation_ids = n;} else { newrelation_ids = newrelation_ids+'|'+n;}}});window.top.$('#'+modelname).val(newrelation_ids);}} else {$(obj).attr('class','line_ff9966');var str = "<li id='"+sid+"'><span>"+title+"</span><a href='javascript:;' class='close' onclick="remove_relation('"+sid+"',"+id+",'<?php echo $modelname;?>')"></a></li>";window.top.$('#'+modelname+'_text').append(str);if(relation_ids =='' ) {window.top.$('#'+modelname).val(id);} else {relation_ids = relation_ids+'|'+id;window.top.$('#'+modelname).val(relation_ids);}}}//--></SCRIPT>
好了,大功告成!儲存好後,新增文章選擇剛才的模型,試試吧!
相關文章
星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
我們經常會玩決勝時刻戰區遊戲,但是有很多朋友不知道決勝時刻戰區國際服註冊方法,下面就詳細說下決勝時刻戰區國際服註冊方法。1首先我們開啟自己電腦中的瀏覽器,比如360瀏覽器
2020-11-29 16:08:59
決勝時刻黑色行動4的應用獲取的方法。1準備好網路的網速,開啟瀏覽器的頁面。 2決勝時刻黑色行動4將其輸入到搜尋頁中,點選搜尋。 3選擇圖中展示的決勝時刻黑色行動4中文版網頁
2020-11-29 16:06:30
決勝時刻是一個很好玩的遊戲,但是安裝過程比較困難,下面小編和你分享一下經驗! 1一般有很多個壓縮檔案的那種,任意解壓一個壓縮包之後會生成一個映象用虛擬光碟機載入,之後按用光
2020-11-29 10:07:32
小編教你決勝時刻9BO2.怎麼安裝,希望你的生活多姿多彩~ 1首先,你買的基本可以確定,是盜版,或者說所謂的偽正版——同學,多去steam吧或者戰地3吧看一看,會提高你對盜版/偽正版的鑑
2020-11-29 05:49:58
目前很多決勝時刻的玩家都在找版本10的中文版,其實現在正版的當中還沒有中文,退而求其次吧,小編這裡分享一些貼圖大家參考一下 1基礎選單,直接看圖片吧 2基礎選單,直接看圖片吧 3
2020-11-29 05:29:49