織夢DedeCms channelartlist調用排除指定typeid,織夢文章
導讀:織夢文章織夢文章今天有朋友讓我幫他解決一個bug,就是他想顯示織夢欄目的時候,排除指定的typeid,弄個類似notypeid的標簽. 這個教程網上已經有很多了,但是我還是寫一dede模板下載dede手機模板。
今天有朋友讓我幫他解決一個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");
在其前面添加(注意是在前面添dede58模板加):
//否定指定ID織夢模板免費下裁 if($notypeid!=0) { $tpsql = $tpsql."and not(id in($notypeid)) "; }
保存文件后,再模板調用時:
{dede:channelartlist typeid ='7' notypeid='8'}
其中notypeid=’8′ 中的 8 為 7 的子欄目即生效。
當然notypeid和typeid也可以分開各自使用.
相關dede模板下載dede手機模板。聲明: 本文由我的SEOUC技術文章主頁發布于:2023-07-19 ,文章織夢DedeCms channelartlist調用排除指定typeid,織夢文章主要講述標簽,標題,織夢網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_30325.html