婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 網站建設 > 建站知識 > 織夢DedeCms channelartlist調用排除指定typeid欄目數據

織夢DedeCms channelartlist調用排除指定typeid欄目數據

POST TIME:2017-11-13 00:56

今天有朋友讓我幫他解決一個bug,就是他想顯示織夢欄目的時候,排除指定的typeid,弄個類似notypeid的標簽.

這個教程網上已經有很多了,但是我還是寫一下記錄一下.

首先他的錯誤犯的很低級,就是調用的時候把notypeid寫成了notypid,導致沒效果,所以大家敲代碼的時候一定要小心,要學會調適.

下面我就說說織夢怎么實現這個功功能》

制作織夢的模板時,在使用 dede:channelartlist 自動調用欄目內容時,經常會遇到某些欄目不需要調用,比如“關于我們”、“聯系地址”等無持續更新的欄目。要想在dede:channelartlist調用時排出某些欄目,這需要修改dede源碼,讓dede:channelartlist排除指定typeid。

首先找到 \include\taglib\channelartlist.lib.php,出于安全考慮先備份這個文件。打開channelartlist.lib.php 查找 $attlist

$attlist = 'typeid|0,row|20,cacheid|';

修改為:

$attlist = 'typeid|0,row|20,cacheid|,notypeid|0'; // 此處添加了一個所要排除typeid的參數—notypeid

再查找:

$dsql->SetQuery("Selectid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath from `dede_arctype` where $tpsql order by sortrank asc limit $totalnum");

在其前面添加(注意是在前面添加):

//否定指定ID if($notypeid!=0) { $tpsql = $tpsql."and not(id in($notypeid)) "; }

保存文件后,再模板調用時:

{dede:channelartlist typeid ='7' notypeid='8'}

其中notypeid=’8′ 中的 8 為 7 的子欄目即生效。

當然notypeid和typeid也可以分開各自使用.




收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
主站蜘蛛池模板: 嘉善县| 鹿邑县| 崇明县| 开鲁县| 大化| 乡城县| 金乡县| 莲花县| 平塘县| 四川省| 神农架林区| 大英县| 彰武县| 蕉岭县| 建瓯市| 南陵县| 渑池县| 莱阳市| 剑河县| 乌拉特前旗| 三门县| 元阳县| 东阳市| 晋州市| 灵台县| 科技| 海阳市| 鸡西市| 获嘉县| 肥东县| 保德县| 罗城| 墨脱县| 垦利县| 手机| 洛南县| 陕西省| 东乌珠穆沁旗| 虞城县| 大化| 勃利县|