dede首页链接标签如何正确使用?

99ANYc3cd6
预计阅读时长 18 分钟
位置: 首页 DEDE建站 正文

核心导航链接标签 (<a>)

这是最常用的标签,用于生成指向网站各个频道、栏目或特定页面的超链接。

dede首页链接标签
(图片来源网络,侵删)

栏目链接标签 (typelink / type)

用于获取指定栏目的链接,通常用于主导航、二级导航等。

  • 标签名: typelink (更常用) 或 type
  • 作用: 调用一个栏目的超链接,会自动带上 <a>

基本语法:

{dede:typelink}
    <a href='[field:typelink/]'>[field:typename/]</a>
{/dede:typelink}

常用参数:

  • typeid: (核心) 指定要调用的栏目ID,如果留空,通常用于获取当前栏目或顶级栏目。
  • row: 获取的栏目数量。
  • col: 每行显示的栏目数量(主要用于生成多行多列的导航)。
  • type: 指定栏目类型,如 son (子栏目), self (同级栏目)。
  • currentstyle: (非常实用) 为当前栏目所在的链接指定高亮样式。

示例: 生成主导航菜单

dede首页链接标签
(图片来源网络,侵删)

假设我们有栏目ID为 1, 2, 3, 4 的首页、新闻、产品、关于我们。

<ul id="mainnav">
    {dede:channel type='top' row='4'}
        <li>
            <a href="[field:typelink/]" [field:typelink function='(@me=="http://你的域名/")?"class=current":""'/]>[field:typename/]</a>
        </li>
    {/dede:channel}
</ul>

更简洁的 currentstyle 写法:

<ul id="mainnav">
    {dede:channel type='top' row='4' currentstyle="<li class='active'><a href='~typelink~'>~typename~</a></li>"}
        <li><a href="[field:typelink/]">[field:typename/]</a></li>
    {/dede:channel}
</ul>
  • currentstyle 中的 ~typename~ 会被替换为 [field:typename/]~typelink~ 会被替换为 [field:typelink/],当栏目为当前栏目时,整个 <li class='active'>...</li> 会被输出。

内容链接标签

用于指向文章、图集等具体内容的链接。

文章链接标签 (arcurl)

用于获取文章或文档的详细页链接。

dede首页链接标签
(图片来源网络,侵删)
  • 标签名: arcurl
  • 作用: 在文章列表、文章内容页等地方,调用该篇文章的URL。

基本语法:

<a href="[field:arcurl/]">[field:title/]</a>

这个标签通常用在 {dede:list}{dede:arclist} 循环标签内部。


列表循环标签

用于循环输出一系列内容,如文章列表、栏目列表等,内部会包含上述的链接标签。

文章列表标签 (arclist)

首页最核心的标签,用于调用指定条件的文章列表。

  • 标签名: arclist
  • 作用: 循环输出符合条件的文章。

基本语法:

{dede:arclist row='10' titlelen='30' typeid='1'}
    <li>
        <span>[field:pubdate function='MyDate('m-d', @me)'/]</span>
        <a href="[field:arcurl/]" title="[field:title/]">[field:title function='cn_substr(@me, 30)'/]</a>
    </li>
{/dede:arclist}

常用参数:

  • row: 调用文章数量,len`: 标题长度,截取多少个字符。
  • typeid: (核心) 调用指定栏目ID下的文章,可以写多个ID,用逗号隔开,如 typeid='1,2,3'typeid='0' 表示调用所有栏目。
  • orderway: 排序方式,desc (降序,默认) 或 asc (升序)。
  • orderby: 排序字段,如 sortrank (权重), id (ID), pubdate (发布时间)。
  • limit: 限制条数,如 limit='0,5' (从第0条开始,取5条)。
  • channelid: 指定内容模型ID,默认为文章模型。

系统与特殊链接标签

用于生成一些系统固定的链接。

网站首页链接 (global)

用于获取网站首页的URL。

  • 标签名: global
  • 作用: 调用网站的全局变量,如首页URL、网站名称等。

基本语法:

<a href="{dede:global.cfg_basehost/}">网站首页</a>
  • cfg_basehost: 网站的域名配置项。

友情链接标签 (flink)

用于调用网站后台设置的友情链接。

  • 标签名: flink
  • 作用: 输出友情链接列表。

基本语法:

{dede:flink row='24' type='text'}
    <a href="[field:url/]" target="_blank">[field:webname/]</a>
{/dede:flink}

常用参数:

  • row: 显示的友情链接数量。
  • type: 链接类型,text (文字链接), image (图片链接), textall (所有类型)。
  • typeid: 指定友情链接分类ID。

实用技巧与常见问题

如何给当前栏目高亮?

如上面 currentstyle 所示,这是最推荐的方法,在 {dede:channel}{dede:arclist} 中使用 typeidcurrentstyle 参数。

如何获取当前栏目ID?

在模板文件中,可以直接使用 {$type_id} 变量来获取当前页面的栏目ID,这在制作“当前位置”面包屑导航时非常有用。

面包屑导航示例:

{dede:field name='position'/}

这个标签会自动生成类似 “首页 > 新闻 > 子栏目” 的链接路径,你也可以手动构建:

<a href="{dede:global.cfg_basehost/}">首页</a>
> {dede:type typeid='栏目ID'><a href="[field:typelink/]">[field:typename/]</a></dede:type}

如何获取顶级栏目ID?

在循环标签中,可以使用 field:topid/ 来获取当前条目所属的顶级栏目ID。

{dede:arclist}
    <p>文章标题: [field:title/]</p>
    <p>所属顶级栏目ID: [field:topid/]</p>
{/dede:arclist}

标签中的函数

  • function='cn_substr(@me, 长度)': 截取字符串,常用于标题。
  • function='MyDate('格式', @me)': 格式化日期,@me 代表当前字段的原始值。MyDate('Y-m-d H:i:s', @me) 会输出 2025-10-27 15:30:00
  • function='(@me=="值")?"输出A":"输出B"': 条件判断。[field:typelink function='(@me=="http://你的域名/")?"class=current":""'/],如果链接是首页,则添加 class=current 属性。

总结表格

标签名 主要用途 常用参数 示例
{dede:typelink} 调用单个栏目链接 typeid, currentstyle {dede:typelink}<a href='[field:typelink/]'>[field:typename/]</a>{/dede:typelink}
{dede:channel} 循环调用栏目列表(如导航) typeid, row, currentstyle {dede:channel type='top'}...{/dede:channel}
{dede:arclist} 循环调用文章列表 typeid, row, titlelen, limit {dede:arclist row='5'}...{/dede:arclist}
[field:arcurl/] 获取文章详情页链接 (无) <a href="[field:arcurl/]">标题</a>
{dede:global} 获取网站全局变量 cfg_basehost, cfg_webname <a href="{dede:global.cfg_basehost/}">首页</a>
{dede:flink} 调用友情链接 row, type {dede:flink type='text'}...{/dede:flink}
{dede:field} 调用当前页面字段 name='position' (面包屑) {dede:field name='position'/}

掌握以上这些标签,你就可以灵活地构建出绝大多数 DedeCMS 首页的布局和内容了,关键在于理解每个标签的作用核心参数,然后通过组合使用来实现你想要的效果。

-- 展开阅读全文 --
头像
如何用C语言实现MAVLINK通信协议?
« 上一篇 今天
dede复制网站模板如何避免版权风险?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码