首页>技术知识>织梦CMS 织梦CMSdede:tag调用指定多个栏目的TAG标签
DEDECMS教程
2021-08-30
官方dede:tag默认只能调用指定的1个栏目的,无法指定多个栏目例如,我要调用指定的1,2,3这个几个栏目和子栏目的TAG标签出来 {dede:tag row='30' sort='new' getall='1' typeid=

官方dede:tag默认只能调用指定的1个栏目的,无法指定多个栏目

例如,我要调用指定的1,2,3这个几个栏目和子栏目的TAG标签出来

{dede:tag row='30' sort='new' getall='1' typeid='1,2,3'}<a href="[field:link/]">[field:tag/]</a>{/dede:tag}

解决方法

打开 /include/taglib/tag.lib.php 找到 ,大概在67行左右

$addsql = " WHERE typeid='$typeid' ";

改成

//指定了多个栏目时if( preg_match('#,#', $typeid) ){$typeids = explode(',', $typeid);foreach($typeids as $ttid) {$typeidss[] = GetSonIds($ttid);}$typeidStr = join(',', $typeidss);$typeidss = explode(',', $typeidStr);$typeidssok = array_unique($typeidss);$typeid = join(',', $typeidssok);$addsql = " WHERE typeid IN ($typeid) ";}else{$addsql = " WHERE typeid IN (".GetSonIds($typeid).") ";}

如图

<a href=织梦CMS" src="https://im.25qi.com/d/file/zmcms/202108301-20122Q206001P.png" />

显示全部内容...