这个过程主要分为两步:

(图片来源网络,侵删)
- 在后台为模型添加一个链接类型的字段。
- 在前台模板文件中调用这个字段,并用
<a>标签将其渲染成链接。
下面我将为你提供详细的图文步骤说明和代码示例。
第一步:在后台添加链接字段
你需要确保你已经创建好了自定义模型(产品模型”、“案例模型”等),我们为这个模型添加一个新的字段。
-
登录DedeCMS后台,进入【核心】 -> 【内容模型管理】。
-
找到你想要修改的自定义模型,点击右侧的【字段管理】。
-
在字段管理页面,点击【添加新字段】。
-
填写字段信息:
- 字段名称:
addlink(这是字段在数据库中的名字,建议用英文,不能和已有字段重复) - 字段提示:
附加链接(这是在前台发布内容时,给管理员看的提示文字) - 字段类型:
链接(这是最关键的一步,选择“链接”类型) - 默认值: 可以留空,或者填写一个默认的链接,如
javascript:; - 是否为空:
是(允许不填写) - 显示顺序:
100(数字越大,显示越靠后)
其他选项可以根据你的需求设置,比如是否在列表页显示等。
- 字段名称:
-
点击【保存字段】。
完成这一步后,你的自定义模型就多了一个可以填写链接的字段,你现在可以去发布一篇该模型的文章,就能看到“附加链接”这个输入框了。
第二步:在前台模板中调用并渲染链接
我们需要在模板文件中使用这个 {dede:field} 标签来获取字段值,并用 <a> 标签将其包装起来。
假设你添加的字段名称是 addlink。
在列表页(list_*.htm)中使用
在列表页,你通常需要在每个条目的后面(比如标题后面)添加一个“更多”或“查看详情”的链接。
{dede:list pagesize='10'}
<li>
<!-- 调用文章标题 -->
<a href="[field:arcurl/]">[field:title/]</a>
<!-- 调用我们自定义的链接字段 -->
{dede:field name='addlink'/}
</li>
{/dede:list}
上面的代码直接输出,可能不是我们想要的链接形式。 我们需要对它进行判断和美化。
优化后的代码(推荐):
{dede:list pagesize='10'}
<li>
<!-- 调用文章标题 -->
<a href="[field:arcurl/]" class="title">[field:title/]</a>
<!-- 判断附加链接是否为空,如果不为空则显示 -->
[field:array runphp='yes']
if(@me['addlink'] != ''){
@me = " <a href='".@me['addlink']."' class='more-link' target='_blank'>更多</a>";
}else{
@me = '';
}
[/field:array]
</li>
{/dede:list}
代码解释:
[field:array runphp='yes']...[/field:array]: 这是一个非常强大的标签,可以在PHP中获取当前文章的所有字段。@me['addlink']: 通过这种方式,我们获取到了addlink字段的值。if(@me['addlink'] != ''): 判断这个值是否为空。@me = " ... ": 如果不为空,就将一段HTML代码赋值给@me,这段代码就是我们想要的链接。target='_blank': 建议加上这个属性,让链接在新标签页中打开,用户体验更好。
页(article_*.htm)中使用
页,你可能在文章内容下方或相关位置使用这个链接。
{dede:field.body/}
<!-- 在文章内容下方显示附加链接 -->
{dede:field name='addlink'/}
同样,我们也进行优化,使其更美观。
优化后的代码(推荐):
{dede:field.body/}
<div class="related-links">
<h3>相关链接</h3>
[field:array runphp='yes']
if(@me['addlink'] != ''){
@me = "<a href='".@me['addlink']."' target='_blank'>".(@me['addlink'] ? '点击访问' : '官方链接')."</a>";
}else{
@me = '<span>暂无相关链接</span>';
}
[/field:array]
</div>
代码解释:
- 这里的逻辑和列表页类似,但输出的HTML结构可以更复杂一些。
- 我们给链接加了一个父级
<div class="related-links">方便CSS样式控制。 - 链接文字可以自定义,比如写死“点击访问”,或者也可以从其他字段获取。
第三步:发布内容并测试
-
:去后台发布一篇属于该自定义模型的文章,在“附加链接”那一栏填上一个有效的URL,
https://www.example.com,你也可以发布一篇不填这个链接的文章进行对比。 -
生成页面:进入【生成】 -> 一键生成,选择“更新所有列表页”和“更新所有内容页”,然后点击“开始生成”。
-
前台查看:现在去你的网站前台,查看列表页和内容页,你会发现:
- 填写了附加链接的文章,会显示你自定义的“更多”或“相关链接”。
- 没有填写的文章,则不会显示任何东西(或者显示你设定的默认文字)。
| 步骤 | 操作 | 核心标签/技巧 |
|---|---|---|
| 后台 | 内容模型管理 -> 字段管理 -> 添加新字段 | 字段类型选择 链接 |
| 前台 | 在模板中使用 | {dede:field:array runphp='yes'} 配合 if 判断 来灵活控制链接的显示和样式。 |
| 测试 | 并生成页面 | 确保链接地址正确,target='_blank' 提升用户体验。 |
通过以上步骤,你就可以完美地为DedeCMS自定义模型的任何字段添加链接功能了,核心思想就是后台添加字段,前台逻辑调用。
