官方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).") ";
}
实现效果: 实现步骤1:后台-系统-基本参数-添加变量 变量名称 cfg_hotkeys 变量类型 文本 参数说明 热门关键词
调用同一个作者的文章的标签代码
使用场景 在文章页中我们经常会显示相关文章之类的文章列表,就需要使用{dede:likearticle}标签,但是默认的 likearti
织梦CMS内容页有上一篇下一篇文章,没有上一个栏目下一个栏目,我们可以不用修改程序内核文件,直接在模板里用
修改方法: 编辑打开\include\taglib\flink.lib.php 查找 elseif($type==image) 在其上面加入 elseif($type==option){$link=optionvalue=.$dbro
判断是否有子栏目,有就输出 javascript:; ,没有子栏目就直接输出一级栏目的链接 {dede:fieldname=typeidrunphp=yes}global$dsq