以下是具体的操作步骤:
第一步:打开文件
找到并打开 Dedecms 核心目录下的文件:\\\\include\\\\taglib\\\\channelartlist.lib.php
第二步:修改 $attlist 参数
搜索以下代码:
$attlist = 'typeid|0,row|20,cacheid|';;
$attlist = 'typeid|0,row|20,cacheid|,notypeid|0'; // 添加了排除typeid的参数 - notypeid
第三步:添加排除逻辑
继续查找以下 SQL 查询语句:
$dsql->SetQuery("Select id, 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)) ";
}
第四步:模板调用
完成上述修改后,您可以在模板中使用以下语法来调用栏目,同时排除指定的栏目 ID:
{dede:channelartlist typeid='7' notypeid='8'}
注意事项:
1. 如果只需要使用 notypeid 或 typeid 单独功能,可以分别设置对应的参数。
2. 修改核心文件前,请务必做好备份,以免因误操作导致系统异常。
3. 此方法适用于 Dedecms 的默认版本,如果您使用的是自定义版本,请根据实际情况调整。 通过以上步骤,您可以轻松实现 {dede:channelartlist} 调用时排除特定栏目的功能,从而更好地满足网站设计和功能需求。