濮阳杆衣贸易有限公司

主頁 > 網(wǎng)站建設(shè) > 建站知識 > 織夢DedeCms channelartlist調(diào)用排除指定typeid欄目數(shù)據(jù)

織夢DedeCms channelartlist調(diào)用排除指定typeid欄目數(shù)據(jù)

POST TIME:2017-11-13 00:56

今天有朋友讓我?guī)退鉀Q一個(gè)bug,就是他想顯示織夢欄目的時(shí)候,排除指定的typeid,弄個(gè)類似notypeid的標(biāo)簽.

這個(gè)教程網(wǎng)上已經(jīng)有很多了,但是我還是寫一下記錄一下.

首先他的錯(cuò)誤犯的很低級,就是調(diào)用的時(shí)候把notypeid寫成了notypid,導(dǎo)致沒效果,所以大家敲代碼的時(shí)候一定要小心,要學(xué)會(huì)調(diào)適.

下面我就說說織夢怎么實(shí)現(xiàn)這個(gè)功功能》

制作織夢的模板時(shí),在使用 dede:channelartlist 自動(dòng)調(diào)用欄目內(nèi)容時(shí),經(jīng)常會(huì)遇到某些欄目不需要調(diào)用,比如“關(guān)于我們”、“聯(lián)系地址”等無持續(xù)更新的欄目。要想在dede:channelartlist調(diào)用時(shí)排出某些欄目,這需要修改dede源碼,讓dede:channelartlist排除指定typeid。

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

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

修改為:

$attlist = 'typeid|0,row|20,cacheid|,notypeid|0'; // 此處添加了一個(gè)所要排除typeid的參數(shù)—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)) "; }

保存文件后,再模板調(diào)用時(shí):

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

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

當(dāng)然notypeid和typeid也可以分開各自使用.




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

  • 400-1100-266
华阴市| 齐河县| 贵港市| 军事| 荥经县| 太仆寺旗| 仙游县| 太仓市| 兖州市| 九寨沟县| 大竹县| 宝丰县| 维西| 民和| 石楼县| 萍乡市| 邓州市| 石狮市| 左云县| 历史| 遂溪县| 泾阳县| 保德县| 寿阳县| 华亭县| 治多县| 漯河市| 盈江县| 柳江县| 西城区| 凤城市| 邯郸市| 延庆县| 台北市| 湾仔区| 永昌县| 剑河县| 会昌县| 盐亭县| 临夏县| 古交市|