chaihongjun.me

dedecms栏目页调用当前栏目TAG

默认的tag标签是全站调用,因此每个栏目页调用的tag其实都是一样了,修改dedecms系统文件可以实现,针对栏目调用相应的tag:

  1. 修改include/taglib/tag.lib.php文件。找到如下代码: 

  2. if($getall==0 && isset($refObj->Fields['tags']) && !empty($refObj->Fields['aid']))
    {
            $dsql->SetQuery("Select tid From `chj_taglist` where aid = '{$refObj->Fields['aid']}' ");
            $dsql->Execute();
            $ids = '';
            while($row = $dsql->GetArray())
      {
              $ids .= ( $ids=='' ? $row['tid'] : ','.$row['tid'] );
            }
            if($ids != '')
            {
                    $addsql = " where id in($ids) ";
            }
            if($addsql=='') return '';
    }

    然后在后面添加如下代码:

  3. else if($getall==2)
    {
    $addsql = " where typeid='{$refObj->Fields['typeid']}' ";
    }

之后在栏目页调用的时候以下面的形式调用即可:

{dede:tag sort='hot' getall='2'}
<a href='[field:link/]'>[field:tag /]</a>
{/dede:tag}

注意:getall=2 获取的是当前栏目的tag

知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。作者:柴宏俊»