织梦DedeCMS调用当前文章tag标签对应文章列表方法

有时完美在进行 dedecms 二次开发是,会遇到调用当前文章 Tag 标签对于全部文章的要求,我们在建站过程中为了提高用户体验,也需要在显示 tag 的链接和 tag 名的同时,还需要调用每个 tag 关联的文章的列表。但是织梦默认没有这样的标签来调用,这就需要我们自己对系统文件进行修改来实现了,具体方法如下:
调用代码:
    {dede:tag row='30' sort='new' getall='0'}
    <div class="hot mt1">
    <dl class="tbox light">
    <dt class='light'><strong>[field:tag /]</strong></dt>
    <dd class='light'>
    <ul class="c1 ico2">
    [field:tag runphp=yes]
    global $dsql,$aid;
    $i = 1;
    $taga = @me;
    $arow = $dsql->GetOne("Select * From `dede_tagindex` where tag like '$taga'");
    $tid = $arow['id'];
    if($tid!='')
    {
    $tagsql = "Select aid From `dede_taglist` where tid = $tid And arcrank > -1 group by aid order by aid desc";
    $dsql->SetQuery($tagsql);
    $dsql->Execute('t');
    $result = '';
    while($arow = $dsql->GetArray('t'))
    {
    $ids[] = $arow['aid'];
    }
    }
    if(count($ids) > 0)
    {
    $idsStr = join(',', $ids);
 
    $query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,
 
    tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
 
    from `dede_archives` arc left join `dede_arctype` tp on arc.typeid=tp.id
 
    where arc.arcrank>-1 and arc.id in($idsStr) And arc.id<>$aid order by arc.id desc";
    }
    $dsql->SetQuery($query);
    $dsql->Execute('t');
    $result = '';
    $totalRow = $dsql->GetTotalRow();
    while($row = $dsql->GetArray('t'))
    {
    $arcurl = GetOneArchive($row['id']);
    $result .= "<li><a href=\"{$arcurl['arcurl']}\">{$row['title']}</a></li>";
    }
    if($result=='') $result = "<p style='color:#f00;'> 该 TAG 标签没有相关文章</p>";
    @me = $result;
    [/field:tag]
    </ul>
    </dd>
    </dl>
    </div>
    {/dede:tag}

评论

大侠名号:   验证暗号: 点击我更换图片

修远兮

在这里记录每一点自己需要的知识

添加创始人微信,一起交流心得

推荐文章RECOMMEND