织梦栏目跳转网页如何设置?

99ANYc3cd6
预计阅读时长 12 分钟
位置: 首页 织梦建站 正文
  • 栏目整合:将多个栏目的内容统一跳转到同一个列表页。
  • 外部链接:将栏目作为菜单项,点击后跳转到外部网站。
  • 特殊页面:将栏目指向一个单页文章、自定义的HTML页面或PHP程序。

下面我将为你详细介绍几种最常用和最稳定的方法,并说明各自的优缺点和适用场景。

织梦栏目跳转其他网页
(图片来源网络,侵删)

使用“外部链接”类型(最推荐、最简单)

这是织梦CMS原生提供的一个功能,专门用于将栏目设置为跳转到任意一个URL,无论是站内还是站外,这是实现需求最直接、最规范的方法。

操作步骤:

  1. 登录后台:使用管理员账号登录您的织梦CMS后台。

  2. 进入栏目管理:在左侧菜单中,找到「核心」 -> 「栏目管理」。

    织梦栏目跳转其他网页
    (图片来源网络,侵删)
  3. 选择或添加栏目

    • 如果您想修改一个已有的栏目,直接点击该栏目的「更改」按钮。
    • 如果您想添加一个新栏目,点击「增加顶级栏目」或「增加子栏目」。
  4. 设置栏目类型

    • 在栏目编辑页面,找到「栏目类型」这一项。
    • 默认是“频道封面”,请将其更改为“外部链接”。
  5. 填写跳转地址

    • 在下方会出现一个“跳转网址”的输入框。
    • 在这里输入您希望跳转到的完整URL地址。
      • 跳转到外部网站https://www.baidu.com
      • 跳转到站内其他页面/special/index.php/a/about.html
  6. 保存:点击页面底部的「确定」按钮保存设置。

优点:

  • 操作简单:无需修改任何代码,后台点点鼠标即可完成。
  • 功能稳定:这是织梦的核心功能,不会因为系统升级而失效。
  • SEO友好:搜索引擎会识别这是一个外部链接,不会将其误认为内容页面。

缺点:

  • 局限性:只能用于栏目级别的跳转,不能用于单篇文章。

修改栏目模板文件(适用于站内跳转)

如果您希望点击栏目后,跳转到的是一个特定的、由织梦生成的页面(比如一个自定义的列表页或封面页),可以通过修改栏目模板来实现。

操作步骤:

  1. 准备目标页面

    • 假设您想让“产品中心”栏目跳转到 /products/index.html
    • 您可以先创建一个名为“产品列表”的栏目(可以设置为隐藏),并选择好合适的列表模板(list_product.htm)。
    • 在这个栏目里发布您想展示的产品文章。
    • 生成这个栏目的HTML页面,确保 /products/index.html 这个文件是存在的。
  2. 修改原栏目模板

    • 进入「模板」 -> 「默认模板管理」。
    • 找到您要修改的栏目所使用的封面模板(index.htm)。
    • 在这个模板文件中,找到指向该栏目的链接代码,它通常是这样的形式:
      <a href='{dede:field name='typeurl'/}'>{dede:field name='typename'/}</a>
    • {dede:field name='typeurl'/} 替换为您准备好的目标页面地址。
      <a href='/products/index.html'>{dede:field name='typename'/}</a>
    • 如果您的网站开启了全站动态,或者这个栏目本身就是动态的,链接可能是:
      <a href='[field:typelink/]'>[field:typename/]</a>

      同样地,将 [field:typelink/] 替换为您的目标地址。

  3. 更新HTML

    • 到「生成」 -> 「更新HTML」中,重新生成首页和相关的栏目页,使修改生效。

优点:

  • 灵活性高:可以跳转到任何由织梦生成的页面。
  • URL美观:可以自定义一个更友好的URL路径。

缺点:

  • 操作稍复杂:需要理解模板机制,并手动维护目标页面。
  • 维护成本:如果目标页面地址改变,需要手动修改模板。

通过修改PHP文件(高级方法,不推荐新手)

这种方法可以实现更复杂的逻辑,比如根据不同条件跳转到不同页面,但直接修改核心文件有风险,升级时可能会被覆盖。

警告: 此方法会修改织梦的核心文件,请务必在修改前备份您的网站和文件

操作步骤(以修改 arc.archives.class.php 为例,适用于文章页跳转,但思路可应用于栏目):

这种方法通常用于的跳转,但原理可以借鉴到栏目,对于栏目,更常见的做法是修改 include/typelink.class.php 文件,但这同样有风险。

一个更“安全”的自定义方法是:

  1. 创建自定义函数

    • /include/common.func.php 文件末尾添加一个自定义函数,用于获取跳转地址。
      // 自定义栏目跳转函数
      function getJumpTypeUrl($typeid) {
          // 这里可以写你的判断逻辑,例如根据栏目ID跳转
          // 假设栏目ID为5的栏目要跳转到指定页面
          if ($typeid == 5) {
              return '/special/offer.html';
          }
          // 如果不是特殊栏目,则返回正常的栏目链接
          return GetTypeUrl($typeid, MfTypedir($typeid), false);
      }
  2. 修改模板调用

    • 在您的模板文件(如 index.htm)中,不要使用 {dede:field name='typeurl'},而是调用这个新函数。
      {dede:channel type='top' row='8'}
      <a href='{dede:php} echo getJumpTypeUrl($typeid); {/dede:php}'>{dede:field name='typename'/}</a>
      {/dede:channel}
    • 这里使用了 {dede:php} 标签来执行PHP代码,调用我们刚刚写的函数。

优点:

  • 功能强大:可以实现非常复杂的、动态的跳转逻辑。
  • 代码集中:逻辑放在函数里,模板更简洁。

缺点:

  • 风险高:修改核心文件或常用函数文件,可能导致系统不稳定或与其他插件冲突。
  • 升级困难:每次织梦升级后,被修改的文件可能会被覆盖,需要重新修改。
  • 要求高:需要使用者具备一定的PHP编程能力。

总结与建议

方法 适用场景 优点 缺点 推荐度
外部链接 绝大多数情况,特别是跳转到外部网站或站内特定单页/程序。 简单、稳定、安全、SEO友好 功能相对固定 ★★★★★ (最推荐)
修改模板 需要跳转到由织梦生成的、内容丰富的列表页或封面页。 灵活、URL可自定义 操作稍复杂,维护成本高 ★★★☆☆ (次推荐)
修改PHP 有非常复杂的、动态的跳转需求,且不介意承担风险和后期维护。 功能最强大 风险高、升级困难、技术门槛高 ★☆☆☆☆ (不推荐,除非必要)

给您的最终建议:

请优先使用【方法一:外部链接】,这是织梦官方为我们设计的最佳解决方案,能够满足90%以上的栏目跳转需求,并且最安全、最省心,只有在【方法一】无法满足您的需求时,再考虑使用【方法二】,请尽量避免使用【方法三】,除非您是开发者并且清楚其中的风险。

-- 展开阅读全文 --
头像
织梦信息发布开启审核
« 上一篇 03-28
dede幻灯为何不显示图片?
下一篇 » 03-28

相关文章

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

目录[+]