织梦tag标签如何正确调用?

99ANYc3cd6
预计阅读时长 19 分钟
位置: 首页 织梦建站 正文

基础调用:获取指定栏目下的Tag标签

这是最常用的一种场景,比如在列表页或频道页显示该栏目下所有文章的Tag标签。

织梦tag标签的调用
(图片来源网络,侵删)

适用场景:列表页 list_article.htm、频道页 templets/default/目录名/index.htm 等。

代码示例

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

代码解析

  • {dede:tag}:这是织梦的标签开始,用于调用Tag。
  • sort='hot'排序方式,可选值有:
    • hot:按Tag使用热度(引用次数)排序,从高到低。
    • sort:按Tag名称的字母顺序排序。
    • month:按Tag每月使用情况排序。
    • rand:随机排序。
  • getall='0'是否获取全站Tag
    • 0不获取,只获取当前栏目下的Tag,这是最常用的选项。
    • 1:获取全站所有的Tag。
  • num='10'获取Tag的数量,这里表示获取10个。
  • [field:link/]:Tag的链接地址。
  • [field:tag/]:Tag的名称。

全站热门Tag调用

通常用在网站的侧边栏或页脚,展示全站最热门的Tag,方便用户快速浏览。

织梦tag标签的调用
(图片来源网络,侵删)

适用场景:全局模板,如 head.htmfooter.htm 或侧边栏模板。

代码示例

<div class="hot-tags">
    <h3>热门标签</h3>
    {dede:tag sort='hot' getall='1' num='20'}
        <a href="[field:link/]" title="[field:tag/]">[field:tag/]</a>
    {/dede:tag}
</div>

代码解析

这里的关键是 getall='1',它告诉织梦要获取全站所有标签,并结合 sort='hot' 来按热度排序,num='20' 显示前20个最热门的标签。

织梦tag标签的调用
(图片来源网络,侵删)

获取当前文章的Tag标签

这个功能用在文章内容页 article_article.htm,显示当前文章的所有Tag,方便用户点击相关文章。

适用场景article_article.htm

代码示例

<div class="article-tags">
    <span>标签:</span>
    {dede:tag sort='hot' getall='0' num='0'}
        <a href="[field:link/]">[field:tag/]</a>
    {/dede:tag}
</div>

代码解析

  • 在这种情况下,getall='0' 是默认行为,它会自动获取当前文章的Tag。
  • num='0' 表示获取当前文章的所有Tag,不限制数量。
  • 这样生成的效果是:标签1, 标签2, 标签3...

高级用法:调用指定Tag的相关文章

这是一个非常强大的功能,可以极大增强内链建设,当用户查看一个Tag时,自动列出包含该Tag的其他文章。

适用场景:专门用于显示Tag列表的页面,即 tag.php

实现步骤

  1. 修改 tag.php 模板: 找到织梦根目录下的 tag.php 文件,找到类似这样的代码:

    require_once(dirname(__FILE__)."/include/common.inc.php");
    require_once(DEDEINC."/arc.taglist.class.php");
    $tid = (isset($tid) && is_numeric($tid)) ? $tid : 0;
    $taglist = new TagList($tid);
    $row = $taglist->GetTag();
    $keywords = $row['tagname'];
    $pagetitle = $row['tagname'].' - '. $cfg_webname;
    $tags = '';
    $seokeywords = $row['tagname'];
    $seodescription = $row['tagname'].' - '. $cfg_description;
    // 获取模板文件
    $tempfile = $cfg_basedir.$cfg_templets_dir."/".$cfg_df_style."/taglist.htm";
    // 调用标签
    $taglist->Display();

    你需要将 $taglist->Display(); 这行注释掉或删除,然后引入我们自己的模板。

  2. 创建模板文件 taglist.htm: 在你的模板目录(/templets/default/)下,新建一个名为 taglist.htm 的文件。

  3. taglist.htm 中编写代码: 这个模板文件的结构和普通列表页类似,核心是使用 {dede:list} 标签来调用文章。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>{dede:field.title/} - {dede:global.cfg_webname/}</title>
        <meta name="keywords" content="{dede:field.keywords/}" />
        <meta name="description" content="{dede:field.description function='html2text(@me)'/}" />
    </head>
    <body>
        <h1>标签“{dede:field.name/}”相关文章</h1>
        <ul class="related-articles">
            {dede:list pagesize='10'}
            <li>
                <a href="[field:arcurl/]">[field:title/]</a>
                <span class="date">([field:pubdate function="MyDate('Y-m-d',@me)"/])</span>
            </li>
            {/dede:list}
        </ul>
        <!-- 分页 -->
        <div class="page-nav">
            {dede:pagelist listsize='5' iteminfo='第[page]页/共[totalpage]页' listitem='index pre pageno next end'/}
        </div>
    </body>
    </html>

代码解析

  • {dede:field.title/}{dede:field.name/}:这里会自动获取当前Tag的名称,作为页面标题和H1标签。
  • {dede:list pagesize='10'}:这是标准的列表调用标签,pagesize='10' 表示每页显示10篇文章。
  • [field:arcurl/][field:title/]:分别调用文章的链接和标题。
  • {dede:pagelist}:调用分页导航。

当用户点击任何一个Tag链接时,都会跳转到这个 taglist.htm 页面,并显示所有包含该Tag的文章。


样式美化(添加CSS)

为了让Tag显示得更美观,通常会为它们添加一些CSS样式。

示例CSS代码

/* 热门标签样式 */
.hot-tags {
    margin-top: 20px;
    padding: 15px;
    background-color: #f9f9f9;
    border-radius: 5px;
}
.hot-tags h3 {
    margin-bottom: 10px;
    font-size: 16px;
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
}
.hot-tags a {
    display: inline-block;
    margin: 5px 5px 5px 0;
    padding: 3px 10px;
    background-color: #e0e0e0;
    color: #333;
    text-decoration: none;
    border-radius: 15px;
    font-size: 12px;
    transition: all 0.3s ease;
}
.hot-tags a:hover {
    background-color: #007bff;
    color: #fff;
}
/* 文章标签样式 */
.article-tags a {
    margin-right: 8px;
    color: #666;
    text-decoration: none;
}
.article-tags a:hover {
    color: #007bff;
    text-decoration: underline;
}

将这些CSS代码添加到你的网站主样式文件中即可。


总结与注意事项

  1. 缓存问题:织梦的Tag调用有缓存,如果你修改了标签代码或添加了新Tag,前台页面可能不会立即更新,可以进入后台的“系统” -> “SQL命令行工具” -> “更新系统缓存”来手动刷新。
  2. 模板位置:确保你将 taglist.htm 放在了正确的模板目录下。
  3. 权限:确保你的网站目录和文件有正确的读写权限,否则Tag无法正常生成或更新。
  4. 版本差异:不同版本的织梦(如DedeCMS 5.7, 5.8等),标签的某些属性可能略有不同,但核心功能基本一致,如果遇到问题,可以查阅对应版本的官方文档。

通过以上方法,你就可以在织梦网站的各个位置灵活地调用和展示Tag标签了。

-- 展开阅读全文 --
头像
C语言如何将数字转为字符串?
« 上一篇 今天
dede php不运行是什么原因导致的?
下一篇 » 今天
取消
微信二维码
支付宝二维码

目录[+]