织梦导航栏目如何实现外站跳转?

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

核心原理

织梦的栏目默认链接到本站内的文章列表页,要让其跳转到外部网站,我们需要修改栏目的“外部链接”属性,就是将栏目的“类型”设置为“外部链接”,并在对应的链接地址字段中填入目标网址。


后台直接修改(最推荐、最简单)

这是最直接、最标准的方法,适用于所有新添加或已存在的栏目。

操作步骤:

  1. 登录织梦后台 使用您的管理员账号登录到织梦网站的后台管理系统。

  2. 进入“栏目管理” 在左侧菜单栏中,找到并点击 【栏目管理】 -> 【核心栏目管理】

  3. 选择要修改的栏目 在栏目列表中,找到您想要设置为外部链接的那个栏目,您可以点击栏目名称,或者点击该栏目行末尾的 【修改】 按钮。

  4. 修改关键信息 进入栏目编辑页面后,找到以下几个关键选项并进行设置:

    • 栏目名称:保持不变,这就是您在导航栏上显示的名称。
    • 栏目类型:这是最关键的一步!
      • 默认选项:通常可能是“频道封面”或“列表”,请将其更改为 【外部链接】
      • 选择后:页面下方会出现一个新的输入框。
    • 跳转网址 / 外部链接
      • 在您刚刚将“栏目类型”改为“外部链接”后,页面下方会出现一个名为 “跳转网址”“外部链接” 的输入框。
      • 在这个框中,完整地填入您想要跳转的外部网址
      • 注意:请务必填写完整的URL,包括 http://https:// 前缀。https://www.baidu.comhttp://www.qq.com
  5. 保存修改 检查所有信息无误后,点击页面底部的 【确定】【保存】 按钮。

  6. 更新缓存 为了确保修改能立即生效,建议更新一下网站缓存。

    • 在后台首页,找到 【系统】 -> 【一键更新网站】
    • 在更新选项中,勾选 【更新HTML】【更新栏目】(或【更新首页】),然后点击开始更新。

完成以上步骤后,您的前端导航栏中该栏目的链接就已经指向您设置的外部网站了。


通过修改模板文件实现(适用于特定场景)

在某些特殊情况下,您可能不想通过后台修改,而是希望直接控制模板文件,这种方法更灵活,但需要您具备一定的HTML和织梦标签知识。

这种方法的核心思想是:在导航栏的循环代码中,为特定栏目添加一个判断条件,如果该栏目是外部链接,则使用外部链接地址;否则,使用织梦默认的栏目链接。

操作步骤:

  1. 找到导航栏模板文件 织梦的导航栏通常位于网站的头部模板文件中,这个文件可能是:

    • /templets/default/header.htm
    • /templets/您的模板名称/index.htm
    • 或者其他您自定义的头部文件。
  2. 定位导航循环代码 打开这个模板文件,找到生成导航菜单的代码块,它通常是这样的 channelarclist 标签循环:

    {dede:channel type='top' row='8'}
    <li><a href="[field:typelink/]">[field:typename/]</a></li>
    {/dede:channel}
    • type='top' 表示调用顶级栏目。
    • [field:typelink/] 是织梦默认的栏目链接标签。
    • [field:typename/] 是栏目名称标签。
  3. 添加条件判断 我们需要修改这个循环,让它能识别“外部链接”,织梦的栏目信息中,有一个 ispart 字段,当栏目类型为“外部链接”时,ispart 的值通常是 1,我们可以利用这一点进行判断。

    修改后的代码如下:

    {dede:channel type='top' row='8'}
    <li>
        <a href="{dede:field name='ispart' runphp='yes'}
            @me = (@me == 1) ? '{dede:field name='typedir'/}' : '{dede:field name='typelink'/}';
            if(@me == '{dede:field name='typedir'/}'){
                @me = 'javascript:void(0);'; // 如果是外部链接,先给一个空链接,防止页面跳转
            }
        {/dede:field}">
            [field:typename/]
        </a>
    </li>
    {/dede:channel}

    上面的代码比较复杂,有更简单直观的写法:

    {dede:channel type='top' row='8'}
    <li>
        <a href="[field:typelink/]" {dede:field.name='ispart' runphp='yes'}if(@me==1) {@me='target="_blank" rel="noopener noreferrer"';}else{@me='';}{/dede:field}>
            [field:typename/]
        </a>
    </li>
    {/dede:channel}

    这种写法的解释:

    • [field:typelink/] 仍然保留,这样后台设置为外部链接时,它会自动读取“跳转网址”。
    • {dede:field.name='ispart' runphp='yes'}...{/dede:field} 是一个条件判断。
    • if(@me==1):判断 ispart 字段是否为1(即是否为外部链接)。
    • 如果是 1,就在 <a> 标签里添加 target="_blank" rel="noopener noreferrer" 属性(推荐在新窗口打开,并增强安全性)。
    • 如果不是 1,则不添加任何属性。
  4. 保存文件并更新 保存修改后的模板文件,然后到后台 【生成】 -> 【更新HTML】,更新首页和栏目页。


重要注意事项

  1. 安全第一:在后台修改时,请确保您填写的网址是安全可信的,不要轻易添加恶意网站。
  2. target="_blank" 的重要性:如果您的网站链接到外部网站,强烈建议在新标签页中打开,以免用户误以为还在您的网站上,这可以通过在链接中添加 target="_blank" 属性实现,方法二中的代码已经包含了这一点。
  3. rel="noopener noreferrer":这是一个安全最佳实践。noopener 可以防止新打开的页面通过 window.opener 来控制您的原始页面,noreferrer 则不告诉目标页面是从哪个页面链接过来的,这有助于提升安全性。
  4. 缓存问题:修改后台栏目后,如果导航没有立即更新,请务必执行“一键更新网站”操作,特别是更新栏目和首页。
  5. 权限问题:确保您有修改栏目和模板文件的权限。
方法 优点 缺点 适用场景
后台修改 操作简单,官方标准,安全可靠 灵活性稍差 绝大多数情况下的首选,特别是对普通用户和网站管理员。
修改模板 灵活性高,可自定义样式和行为 需要一定的技术基础,修改不当可能导致页面错乱 需要对特定外部链接进行特殊样式处理或复杂逻辑控制的场景。

对于99%的需求,方法一 已经完全足够且是最好的选择,请优先使用它。

-- 展开阅读全文 --
头像
dede发布人如何修改?
« 上一篇 03-06
C语言字符串如何准确转浮点数?
下一篇 » 03-06

相关文章

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

目录[+]