首先,我们需要了解实现这一功能的核心函数。该函数位于 `/include/common.func.php` 文件中,具体代码如下:
function GetTags($aid) {
global $dsql;
$tags = '';
$query = "Select tag From `b_taglist` where aid='$aid' ";
$dsql->Execute('tag', $query);
while ($row = $dsql->GetArray('tag')) {
$tags .= ($tags == '' ? $row['tag'] : ',' . $row['tag']);
}
return $tags;
}
有了上述函数后,我们可以通过以下代码在列表页中调用 tag 标签:
{dede:list pagesize='10'}
[field:pubdate function="GetDateTimeMK(@me)"/][field:title/]
热门tags:[field:id function=GetTags(@me)/] 点击:[field:click/]
[field:description/].. 浏览全文
{/dede:list}
其中,`[field:id function=GetTags(@me)/]` 是用于调用 tag 标签的关键代码。将其插入到模板文件 `list_article.htm` 中,生成后即可看到效果。 然而,默认情况下,调用出来的 tag 标签并不带链接。若要实现带链接的 tag 标签调用,则需按照以下步骤进行修改: 1. **修改核心函数** 打开 `include/helpers/archive.helper.php` 文件,找到第 130 行的 `$tags .= ($tags=='' ? $row['tag'] : ','.$row['tag']);`,并将其替换为以下代码:
$tags .= "" . $row['tag'] . " ";
2. **添加辅助函数** 在同一文件的空白处加入以下代码,用于生成新的 tag 列表:
if ( ! function_exists('GetTagk')) {
function GetTagk($aid) {
global $dsql;
$tagk = '';
$query = "SELECT tag,aid FROM `ma_taglist` WHERE aid='$aid' ";
$dsql->Execute('tag', $query);
while ($row = $dsql->GetArray('tag')) {
$tagk .= ($tagk == '' ? $row['tag'] : ',' . $row['tag']);
}
return $tagk;
}
}
3. **修改后台文件** 打开 `dede/article_edit.php` 文件,找到 `$tags = GetTags($aid);`,在其下方添加 `$tagk = GetTagk($aid);`。 4. **调整模板文件** 最后,打开 `dede/templets/article_edit.htm` 文件,将 `
### 全站最新 tag 标签调用示例 如果需要全站范围内调用最新的 tag 标签,可以使用以下代码:
{dede:tag row='50' sort='new' getall='1'}
[field:tag /]
{/dede:tag}
### 全站最新关键词标签调用示例 同样地,若想调用全站最新的关键词标签,可参考以下代码:
{dede:tag table='dede_search_keywords' row='3' sort='new' if=''}
[field:keyword/]
{/dede:tag}