首页 DedeCms正文

织梦文章列表页调用静态化的tag标签

Admin DedeCms 2020-03-26 11 0
dedecms织梦tag标签静态化有几种方法,其中一种最简单的也就是我们比较长用到的就是“织梦tag标签静态化插件”,本文要讲解的就是使用这种方法静态化后的tag标签的调用,即某篇文章的tag,我们需要调用的是tag的超链接,不需要链接的话就没必要讲了。这里的调用某篇文章的tag在文章页和文章列表页都会用到,下面具体方法。
前提是用插件法对tag进行静态化,以及可以调用tag超链接,但是此时的超链接是动态的,也就是带有“?”符号的,我们要做的就是将动态链接变成静态化后的链接。以下方法:
只要将/include/helpers/archive.helper.php这个文件里面的“获得某文档的所有tag”代码下的那一个函数替换,即:
if ( ! function_exists('GetTags'))
{
    function GetTags($aid)
    {
        global $dsql;
        $tags = '';
        $query = "SELECT tag FROM `weiwei_taglist` WHERE aid='$aid' ";
        $dsql->Execute('tag',$query);
        while($row = $dsql->GetArray('tag'))
        {
            $tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);
        }
        return $tags;
    }
}
改成:
if ( ! function_exists('GetTags'))
{
    function GetTags($aid)
    {
        global $dsql;
     $sql = "select tid from weiwei_taglist  where aid='$aid' group by tid ";
          $dsql->Execute('ala',$sql);
     while($row=$dsql->GetObject('ala')){ 
        $url=nic_tag_url($row->tid);
             if ($arcRow = $dsql->GetOne("select * from weiwei_tagindex  where id='".$row->tid."' ")) $tag=$arcRow["tag"];
        else $tag="";
        $str.=" <a href='".$url."' target=_blank><b>".$tag."</b></a> ";
     }
     return $str;
    }
}
即可,这样再重新更新有调用tag的栏目和文章就能实现静态化超链接。