DedeCMS likearticle标签支持多栏目含子栏目调用修改方法

在使用DedeCMS的likearticle标签时,如果希望获取多个指定栏目下的相关文章,而这些栏目又包含子栏目,官方默认程序无法满足需求。需要进行以下修改。

修改核心文件

打开 /include/taglib/likearticle.lib.php 文件,找到以下代码:

if( !empty($typeid) && !preg_match('#,#', $typeid) ) {
    $typeid = GetSonIds($typeid);
}

在该代码下方加入以下新代码:

else
{
    $typeids = explode(',', $typeid);
    foreach($typeids as $ttid) {
        $typeidss[] = GetSonIds($ttid);
    }
    $typeidStr = join(',', $typeidss);
    $typeidss = explode(',', $typeidStr);
    $typeidssok = array_unique($typeidss);
    $typeid = join(',', $typeidssok);
}

模板标签调用写法

修改完成后,在模板中使用以下标签格式进行调用:

{dede:likearticle row='10' col='' titlelen='150' infolen='250' mytypeid='10,12,14'}
<li><a href="[field:arcurl/]">[field:title/]</a></li>
{/dede:likearticle}

其中 mytypeid 参数可以填写多个栏目ID,用英文逗号分隔,系统会自动获取这些栏目及其所有子栏目的相关文章。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。