当前位置:首页 > 行业动态 > 正文

如何在DedeCMS中调用内容页的Tags标签并显示其链接地址?

在dedecms中,可以使用以下代码生成内容页Tags标签并带链接地址:,,“ php,{dede:field name='keywords'/},“

在织梦CMS(DedeCMS)系统中,内容页调用当前文章的Tag标签并添加链接可以通过修改include/common.func.php文件来实现,以下是详细的步骤和代码示例:

如何在DedeCMS中调用内容页的Tags标签并显示其链接地址?  第1张

步骤一:修改include/common.func.php文件

1、打开文件:使用文本编辑器打开include/common.func.php文件。

2、查找函数:大约在第755行左右,找到GetTags函数。

3、修改函数

    function GetTags($aid) {
        global $dsql;
        $tags = '';
        $query = "Select tag Fromdede_taglist where aid='$aid' ";
        $dsql>Execute('tag',$query);
        while($row = $dsql>GetArray('tag')) {
            if ($tags == '') {
                $tags .= "<a href='/tags.php?/{$row['tag']}' target='_blank'>{$row['tag']}</a>";
            } else {
                $tags .= ", <a href='/tags.php?/{$row['tag']}' target='_blank'>{$row['tag']}</a>";
            }
        }
        return $tags;
    }

这段代码获取文档对应的TAG列表,并将其转换为数组,然后循环输出每个TAG标签并添加链接。

步骤二:调用带链接的Tag标签

1、内容页模板页模板中,使用以下代码来调用带链接的Tag标签:

    {dede:field name='id' runphp='yes'}
    global $cfg_cmspath;
    $tags = GetTags(@me);
    echo $tags;
    {/dede:field}

这段代码通过{dede:field}标签获取当前内容的ID,然后调用修改后的GetTags函数,最后输出带链接的Tag标签。

2、示例代码

    <div >
        {dede:field name='id' runphp='yes'}
        global $cfg_cmspath;
        $tags = GetTags(@me);
        echo $tags;
        {/dede:field}
    </div>

将上述代码添加到内容页模板的适当位置,即可实现在内容页显示当前文章的Tag标签并带有链接。

常见问题及解答FAQs

问题1:如何在内容页调用全部Tag标签?

答:要调用全部Tag标签,可以使用以下代码:

{dede:tag row='sort' getall='0'}
    <a href="[field:link/]">[field:tag/]</a>
{/dede:tag}

此代码会列出所有Tag标签并加上链接。

问题2:如何确保Tag标签链接自动兼容子目录站点?

答:可以在调用Tag标签时使用全局变量$cfg_cmspath来加载系统基本参数中的程序安装目录,这样可以确保链接自动兼容安装在子目录的站点。

global $cfg_cmspath;
$tags = GetTags(@me);
foreach($tags as $key => $value){
    if($value){
        $revalue .= '<a href="'.$cfg_cmspath.'/tags.php?/'.$value.'/">'.$value.'</a> ';
    }
}
0