亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > PhpCMS > 正文

phpcms v9文章模塊二次開發(排序 用戶名)

2024-09-10 07:16:11
字體:
來源:轉載
供稿:網友

今天看到了三篇關于phpcms v9文章模塊的一些應用功能上的修改,包括了文章模塊前后面排序問題與文章發布時不顯示用戶名的修改方法,希望文章能給大家有幫助.

更改后臺文章排序

修改文件:phpcmsmodulescontent 中的 content.php,代碼如下:

  1. $datas = $this->db->listinfo($where,’id desc’,$_GET['page']); 
  2.  
  3. //改成 
  4.  
  5. $datas = $this->db->listinfo($where,’listorder ASC, id desc’,$_GET['page']); 

關聯文章排序陳舊問題

修改 phpcms/modules/content/classes/content_tag.class.php 內容模型標簽類文件,將 content_tag 類中 relation 方法修改為:

  1. /** 
  2. * 相關文章標簽 
  3. * @param $data 
  4. */ 
  5. public function relation($data) { 
  6. $catid = intval($data['catid']); 
  7. if(!$this->set_modelid($catid)) return false; 
  8. $order = $data['order']; 
  9. $sql = “`status`=99″; 
  10. $limit = $data['id'] ? $data['limit']+1 : $data['limit']; 
  11. if($data['relation']) { 
  12. $relations = explode(‘|’,trim($data['relation'],’|’)); 
  13. $relations = array_diff($relationsarray(null)); 
  14. $relations = implode(‘,’,$relations); 
  15. $sql = ” `id` IN ($relations)”; 
  16. $key_array = $this->db->select($sql, ‘*’, $limit$order,”,’id’); 
  17. elseif($data['keywords']) { 
  18. $keywords = str_replace(‘%’, ”,$data['keywords']); 
  19. $keywords_arr = explode(‘ ‘,$keywords); 
  20. $key_array = array(); 
  21. $number = 0; 
  22. $i =1; 
  23. foreach ($keywords_arr as $_k) { 
  24. $sql2 = $sql.” AND `keywords` LIKE ‘%$_k%’”.(isset($data['id']) && intval($data['id']) ? ” AND `id` != ‘”.abs(intval($data['id'])).”‘” : ”); 
  25. $r = $this->db->select($sql2, ‘*’, $limit$order,”,’id’); 
  26. $number += count($r); 
  27. foreach ($r as $id=>$v) { 
  28. if($i<= $data['limit'] && !in_array($id$key_array)) $key_array[$id] = $v
  29. $i++; 
  30. if($data['limit']<$numberbreak
  31. if($data['id']) unset($key_array[$data['id']]); 
  32. return $key_array

其實只是將 $r = $this->db->select($sql2, ‘*’, $limit, ”,”,’id’); 替換為了 $r = $this->db->select($sql2, ‘*’, $limit, $order,”,’id’); 讓order參數傳入查詢方法.

在模板當中,使用如下標簽,加上order參數即可實現排序了,代碼如下:

  1. {pc:content action=”relation” relation=”$relation” id=”$id” catid=”$catid” num=”5″ keywords=”$rs[keywords]” order=”id DESC”} 
  2. {loop $data $r} 
  3. {/loop} 
  4. {/pc} 

如果有潔癖的朋友,擔心直接修改PC會影響未來升級,可以將其單獨提取出來,放到模板中當作函數使用,代碼如下:

  1. <?php 
  2. /** 
  3. * 內容模型 – 相關文章標簽(修正排序異常問題) 
  4. * @param $data 
  5. */ 
  6. function mk1_content_tag_relation($data) { 
  7. $db = pc_base::load_model(‘content_model’); 
  8. $catid = intval($data['catid']); 
  9. $siteids = getcache(‘category_content’,’commons’); 
  10. if(!$siteids[$catid]) return false; 
  11. $siteid = $siteids[$catid]; 
  12. $category = getcache(‘category_content_’.$siteid,’commons’); 
  13. if(emptyempty($category)) return false; 
  14. if($category[$catid]['type']!=0) return false; 
  15. $db->set_model($category[$catid]['modelid']); 
  16. $order = $data['order']; 
  17. $sql = “`status`=99″; 
  18. $limit = $data['id'] ? $data['limit']+1 : $data['limit']; 
  19. if($data['relation']) { 
  20. $relations = explode(‘|’,trim($data['relation'],’|’)); 
  21. $relations = array_diff($relationsarray(null)); 
  22. $relations = implode(‘,’,$relations); 
  23. $sql = ” `id` IN ($relations)”; 
  24. $key_array = $db->select($sql, ‘*’, $limit$order,”,’id’); 
  25. elseif($data['keywords']) { 
  26. $keywords = str_replace(‘%’, ”,$data['keywords']); 
  27. $keywords_arr = explode(‘ ‘,$keywords); 
  28. $key_array = array(); 
  29. $number = 0; 
  30. $i =1; 
  31. foreach ($keywords_arr as $_k) { 
  32. $sql2 = $sql.” AND `keywords` LIKE ‘%$_k%’”.(isset($data['id']) && intval($data['id']) ? ” AND `id` != ‘”.abs(intval($data['id'])).”‘” : ”); 
  33. $r = $db->select($sql2, ‘*’, $limit$order,”,’id’); 
  34. $number += count($r); 
  35. foreach ($r as $id=>$v) { 
  36. if($i<= $data['limit'] && !in_array($id$key_array)) $key_array[$id] = $v
  37. $i++;//開源軟件:Vevb.com 
  38. if($data['limit']<$numberbreak
  39. if($data['id']) unset($key_array[$data['id']]); 
  40. return $key_array
  41. ?> 

在模板中,使用如下PHP代碼獲取即可,代碼如下:

  1. {php $data = mk1_content_tag_relation(array(‘relation’=>$relation,’id’=>$id,’catid’=>$catid,’keywords’=>$rs['keywords'],’order’=>’id DESC’,’limit’=>’4′)); } 
  2. {loop $data $r} 
  3. {/loop} 

發布文章不顯示用戶名

V9前臺靜態有時候不顯示更新用戶的用戶名,具體修改方法如下,content_model.class.php第120行,代碼如下:

$urls['data']['username'] = $systeminfo['username'];//end

html.class.php第29行:必須要在這里獲取傳遞過來的數組值.

$username=$data['username'];

edit_content方法,約280行:

  1. /*編輯部分從主表數據庫中查出用戶名,傳遞模版*/ 
  2. $temp = $this->get_one(array(‘id’=>$id)); 
  3. $urls['data']['username'] = $temp['username']; 
  4. //end 

添加文章時選擇相關文章可調用其它模型信息,首先,在模型管理的設計師模型中,修改相關文章的“相關參數”這里面的值,找到這行語句,把如下代碼:

  1. <input type=’button’ value=”添加相關” onclick=”omnipotent(‘selectid’,’?m=content&c=content& a=public_relationlist&modelid={MODELID}’,’添加相關文章’,1)” class=”button” style=”width:66px;”> 
  2. //修改為: 
  3. <input type=’button’ value=”添加相關” onclick=”omnipotent(‘selectid’,’?m=content&c=content&a=public_relationlist&modelid=2′,’添加相關文章’,1)” class=”button” style=”width:66px;”> 

其實只是把上面的 {MODELID} 換成了目標模型ID(設計案例模型的ID)罷了,這一步已經可以實現了選擇不同模型的文章,接下來解決選擇后保存后再進入編輯不會顯示的問題,還是找到型管理的設計師模型中,修改相關文章的“相關參數”這里面的值,把代碼如下:

  1. <input type=’button’ value=”顯示已有” onclick=”show_relation({MODELID},{ID})” class=”button” style=”width:66px;”> 
  2. //修改為: 
  3. <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}是調用本文章的所屬模型ID,我修改為show_relation(1,2,{ID}),懂的朋友一看就知道,我多了一個參數,為什么多了一個參數呢,上面也說到了,默認只有同模型的文章可以選擇,所以這里做了一個目標模型ID,第一個參數是源模型ID,第二個參數是目標模型ID,這里面修改后保存.

show_relation()這個是JS函數,既然多了一個參數,那我們也要修改JS文件嘍,找到statics/js/content_addtop.js的153,154行左右.為如下代碼:

  1. function show_relation…. 
  2. $.getJSON(“?m=content;………. 

我把這兩行修改為了如下代碼:

  1. function show_relation(modelid,target_modelid,id) { 
  2. $.getJSON(“?m=content&c=content&a=public_getjson_ids&modelid=”+modelid+”&target_modelid=”+target_modelid+”&id=”+id, function(json){ 

JS修改過后,接下來我們修改最后的PHP文件,找到phpcmsmodulescontentcontent.php 574行左右,也就是public function public_getjson_ids()這行左右,在$modelid = intval($_GET['modelid']); 行后換行加入如下代碼:

$target_modelid = intval($_GET['target_modelid']);

在586行也就是$infos = array();這行后面換行加入如下代碼:

  1. $this->db->set_model($target_modelid); 
  2. $this->model = getcache(‘model’, ‘commons’); 
  3. $this->db->table_name = $this->db->db_tablepre.$this->model[$target_modelid]['tablename']; 

其中的“$this->db->table_name = $tablename;” 這一行是被上面第三行替換了。

OK,大功告成,因為已經破壞了原生的相關文章功能了,如果你以后再使用相關文章的功能時,要記得先到模型的字段中的“相關參數”的值哦.

在前臺調用相關文章時,用下列標簽:

  1. if $relation!=”} 
  2. {php $rel = explode(‘|’,$relation);} 
  3. {loop $rel $design_id} </p> 
  4. <p> {pc:get sql=”select title,id,url,thumb from v9_design where id=$design_id”} 
  5. {loop $data $r} 
  6. <td class=”pr5″><a href=”http://www.111cn.net /blog/{$r[url]}” title=”{$r[title]}” target=”_blank”><img src=”http://www.111cn.net /blog/{$r[thumb]}” width=”190″ height=”120″ class=”imgborder” alt=”{$r[title]}” /></a><p class=”mt5″><a href=”http://www.111cn.net/ blog/{$r[url]}” title=”{$r[title]}” target=”_blank”>{str_cut($r[title],’32′)}</a></p></td>  
  7. {/loop} 
  8. {/pc}</p> 
  9. <p>{/loop} 
  10. {/if}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久综合电影一区| 午夜精品蜜臀一区二区三区免费| 欧美激情国产日韩精品一区18| 日韩在线观看网站| 欧美激情三级免费| 亚洲精品资源在线| 最近更新的2019中文字幕| 亚洲视频视频在线| 中文字幕一精品亚洲无线一区| 亚洲美女免费精品视频在线观看| 国产不卡精品视男人的天堂| 91欧美精品成人综合在线观看| 国产v综合ⅴ日韩v欧美大片| 亚洲人成在线观看网站高清| 亚洲综合在线中文字幕| 在线观看国产成人av片| 91在线视频精品| 欧美中文字幕在线观看| 午夜精品一区二区三区视频免费看| 日本免费久久高清视频| 亚洲在线免费看| 欧美精品xxx| 国产精品免费久久久久久| 91久热免费在线视频| 国产v综合v亚洲欧美久久| 久久99国产精品自在自在app| 亚洲第一免费播放区| www.亚洲人.com| 在线观看精品国产视频| 国产亚洲在线播放| 亚洲欧美日韩在线高清直播| 国产欧美日韩高清| 成人午夜黄色影院| 国产成人亚洲综合青青| 日本精品视频在线| 97在线视频免费观看| 久久精品国产欧美亚洲人人爽| 26uuu另类亚洲欧美日本老年| 亚洲精品久久久久久久久| 国产精品久久久久久久久粉嫩av| 久久免费精品日本久久中文字幕| 日韩在线播放一区| 精品国产欧美一区二区五十路| 91天堂在线观看| 国内偷自视频区视频综合| 大伊人狠狠躁夜夜躁av一区| 日韩av一区二区在线观看| 国产精品电影久久久久电影网| 亚洲欧美中文日韩在线v日本| 国产午夜精品全部视频在线播放| 欧美限制级电影在线观看| 国产精品香蕉国产| 亚洲影院色无极综合| 亚洲最大成人网色| 精品人伦一区二区三区蜜桃免费| 亚洲国产精品久久91精品| 久久免费视频在线| 日本欧美中文字幕| 欧美成人精品一区| 欧美中文字幕在线观看| 国产97人人超碰caoprom| 欧美日韩亚洲成人| 亚洲日本成人女熟在线观看| 国产成人高清激情视频在线观看| 国产999在线| 日韩毛片在线看| 国产精品第一页在线| 91视频九色网站| 在线视频欧美性高潮| 中文字幕日韩精品在线观看| 美日韩精品免费视频| 日韩av一卡二卡| 国产日韩视频在线观看| 亚洲国产一区自拍| 日韩国产在线看| 日韩欧美一区视频| 国产亚洲人成a一在线v站| 欧美亚洲日本网站| 亚洲国产精品网站| 欧美成人精品一区二区| 精品国产一区久久久| 国产香蕉一区二区三区在线视频| 亚洲缚视频在线观看| 亚洲色图综合久久| 日韩欧美成人网| 精品亚洲永久免费精品| 91免费电影网站| 在线日韩av观看| 欧美亚洲另类制服自拍| 日韩av在线直播| 成人a视频在线观看| 亚洲日本成人女熟在线观看| 色综合久久88| 精品国内产的精品视频在线观看| 欧美亚洲另类制服自拍| 国产亚洲一区精品| 欧美在线一区二区三区四| 91久久精品国产91久久性色| 欧美高清videos高潮hd| 中文字幕日韩欧美| 欧美在线免费看| 国产午夜精品久久久| 国产精品一区二区三区久久| 色综合影院在线| 久久天天躁狠狠躁夜夜爽蜜月| 精品久久在线播放| 奇米成人av国产一区二区三区| 中国日韩欧美久久久久久久久| 一本色道久久综合狠狠躁篇怎么玩| 国产有码在线一区二区视频| 这里只有精品在线观看| 欧美一级片在线播放| 亚洲第一精品久久忘忧草社区| 久久九九精品99国产精品| 欧美午夜宅男影院在线观看| 久久精品国亚洲| 久久久亚洲天堂| 日韩视频免费在线观看| 亚洲黄色有码视频| 久久视频在线视频| 欧美极品少妇xxxxⅹ免费视频| 中文字幕亚洲自拍| 97av在线视频| 97精品免费视频| 日本成人精品在线| 亚洲精品乱码久久久久久金桔影视| 日本成人免费在线| 日韩国产一区三区| 91美女片黄在线观看游戏| 97国产精品免费视频| 亚洲精品在线91| 久久久噜噜噜久久中文字免| 亚洲精品色婷婷福利天堂| 久久亚洲影音av资源网| 欧美日本中文字幕| 亚洲美女视频网站| 国产视频999| 一区二区三区黄色| 久久久av网站| 欧美黑人xxx| 欧美电影免费观看网站| 国产精品成人在线| 日韩综合中文字幕| 麻豆成人在线看| 久久亚洲春色中文字幕| 国产在线精品成人一区二区三区| 国产精品久久久久久久久| 欧美另类在线观看| 欧美激情性做爰免费视频| 久久久在线视频| 久久亚洲精品成人| 亚洲激情 国产| 欧美综合国产精品久久丁香| 亚洲欧洲日产国码av系列天堂| 久久久影视精品| 亚洲伊人一本大道中文字幕| 欧洲亚洲在线视频| 欧美色图在线视频| 国产精品入口福利| 精品久久久久久中文字幕大豆网| 国产精品网红福利| 欧美在线视频免费播放| 国产综合在线观看视频| 国产成人精品一区|