dede自定义模型字段如何添加链接?

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

这个过程主要分为两步

dede给自定义模型的字段加上链接
(图片来源网络,侵删)
  1. 在后台为模型添加一个链接类型的字段。
  2. 在前台模板文件中调用这个字段,并用 <a> 标签将其渲染成链接。

下面我将为你提供详细的图文步骤说明和代码示例。


第一步:在后台添加链接字段

你需要确保你已经创建好了自定义模型(产品模型”、“案例模型”等),我们为这个模型添加一个新的字段。

  1. 登录DedeCMS后台,进入【核心】 -> 【内容模型管理】。

  2. 找到你想要修改的自定义模型,点击右侧的【字段管理】。

  3. 在字段管理页面,点击【添加新字段】。

  4. 填写字段信息

    • 字段名称: addlink (这是字段在数据库中的名字,建议用英文,不能和已有字段重复)
    • 字段提示: 附加链接 (这是在前台发布内容时,给管理员看的提示文字)
    • 字段类型: 链接 (这是最关键的一步,选择“链接”类型)
    • 默认值: 可以留空,或者填写一个默认的链接,如 javascript:;
    • 是否为空: (允许不填写)
    • 显示顺序: 100 (数字越大,显示越靠后)

    其他选项可以根据你的需求设置,比如是否在列表页显示等。

  5. 点击【保存字段】。

完成这一步后,你的自定义模型就多了一个可以填写链接的字段,你现在可以去发布一篇该模型的文章,就能看到“附加链接”这个输入框了。


第二步:在前台模板中调用并渲染链接

我们需要在模板文件中使用这个 {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样式控制。
  • 链接文字可以自定义,比如写死“点击访问”,或者也可以从其他字段获取。

第三步:发布内容并测试

  1. :去后台发布一篇属于该自定义模型的文章,在“附加链接”那一栏填上一个有效的URL,https://www.example.com,你也可以发布一篇不填这个链接的文章进行对比。

  2. 生成页面:进入【生成】 -> 一键生成,选择“更新所有列表页”和“更新所有内容页”,然后点击“开始生成”。

  3. 前台查看:现在去你的网站前台,查看列表页和内容页,你会发现:

    • 填写了附加链接的文章,会显示你自定义的“更多”或“相关链接”。
    • 没有填写的文章,则不会显示任何东西(或者显示你设定的默认文字)。
步骤 操作 核心标签/技巧
后台 内容模型管理 -> 字段管理 -> 添加新字段 字段类型选择 链接
前台 在模板中使用 {dede:field:array runphp='yes'} 配合 if 判断 来灵活控制链接的显示和样式。
测试 并生成页面 确保链接地址正确,target='_blank' 提升用户体验。

通过以上步骤,你就可以完美地为DedeCMS自定义模型的任何字段添加链接功能了,核心思想就是后台添加字段,前台逻辑调用

-- 展开阅读全文 --
头像
dede5.7关键词链接替换次数如何设置?
« 上一篇 36分钟前
getchar与scanf混用时为何会冲突?
下一篇 » 15分钟前

相关文章

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

目录[+]