dede返回列表页怎么设置?

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

使用织梦自带标签(最推荐、最标准)

这是最规范、最推荐的方法,因为它能完美处理织梦的栏目和分页逻辑,即使URL是静态化的,也能正确返回。

dede 返回列表页
(图片来源网络,侵删)

适用场景: 在文章详情页(article_article.htm)、软件下载页(download_article.htm)等系统默认模板中。

标签代码:

<a href="{dede:field name='typeid' function='GetTypeUrl(@me)'/}">返回列表页</a>

代码解析:

  1. {dede:field name='typeid'}: 这个标签用于获取当前文章所在的栏目ID
  2. function='GetTypeUrl(@me)': 这是一个函数调用。
    • @me 代表 {dede:field name='typeid'} 的值,也就是栏目ID。
    • GetTypeUrl() 是织梦系统内置的一个函数,它的作用就是根据栏目ID,自动生成该栏目的正确URL地址
    • 这个函数会自动判断该栏目是“列表栏目”还是“外部链接”,并返回相应的链接地址,如果是列表栏目,它会返回该栏目的列表页地址(可能是动态的 plus/list.php?tid=xx,也可能是静态的 /category/xx/)。

优点:

dede 返回列表页
(图片来源网络,侵删)
  • 自动化: 无需手动填写URL,更换栏目或修改栏目设置后,链接依然有效。
  • 准确性高: 能正确处理动态、静态、以及自定义的栏目链接。
  • 官方标准: 符合织梦的开发规范,兼容性最好。

使用JavaScript history.go(-1)(最简单)

这种方法不依赖织梦标签,而是利用浏览器的历史记录功能。

适用场景: 任何需要“返回上一页”的地方,不一定是列表页,从列表页进入详情页,再从详情页返回,这一定是列表页。

标签代码:

<a href="javascript:history.go(-1);">返回上一页</a>

或者使用按钮样式:

dede 返回列表页
(图片来源网络,侵删)
<button onclick="history.go(-1);">返回上一页</button>

代码解析:

  • javascript:history.go(-1); 是一段JavaScript代码。
  • history.go(-1) 的意思是让浏览器历史记录“后退一步”。

优点:

  • 简单快捷: 代码非常简单,无需理解织梦标签。
  • 通用性强: 不依赖任何CMS系统,纯前端实现。

缺点:

  • 逻辑不严谨: 如果用户是通过其他方式(比如直接在地址栏输入详情页URL)进入的,点击“返回上一页”可能并不会回到你期望的列表页,而是回到一个空白页或无关页面。
  • 与织梦逻辑解耦: 它没有利用织梦自身的结构信息,不够“原生”。

手动获取并拼接URL(灵活但需谨慎)

如果你的列表页URL是固定的,或者你想在非详情页的模板中使用,可以手动构建URL。

适用场景: 在自定义的模板页面、表单提交成功页等,这些页面可能没有 {dede:field name='typeid'} 这个变量。

标签代码:

假设你的列表页是动态的,格式为 plus/list.php?tid=栏目ID

<a href="/plus/list.php?tid={dede:field name='typeid'/}">返回列表页</a>

代码解析:

  • /plus/list.php?tid=: 这是织梦动态列表页的固定路径。
  • {dede:field name='typeid'/}: 获取当前栏目ID,并拼接到URL后面。

注意事项:

  • 静态化问题: 如果你的网站开启了“静态目录支持”,并且列表页是静态的(如 /category/5/),那么这个固定的动态URL就会失效,用户点击后会进入一个404页面,这种方法只适用于纯动态网站,或者在你能确定列表页一定是动态的情况下使用。
  • 不推荐在详情页使用: 在详情页使用方法一(GetTypeUrl)是更好的选择,因为它能自动适应动态和静态两种情况。

总结与对比

方法 代码示例 优点 缺点 推荐场景
织梦自带标签 <a href="{dede:field name='typeid' function='GetTypeUrl(@me)'/}">返回列表页</a> 最标准、最准确、最灵活,能自动适应动态/静态URL。 稍微复杂一点点,但理解后非常强大。 文章详情页、软件页等所有官方模板强烈推荐
JS返回 <a href="javascript:history.go(-1);">返回上一页</a> 代码极简,不依赖CMS,通用性强。 逻辑不严谨,可能返回非预期页面。 简单的“返回”功能,对返回目标不严格要求时。
手动拼接URL <a href="/plus/list.php?tid={dede:field name='typeid'/}">返回列表页</a> 灵活,可在特定场景下使用。 无法处理静态化URL,有404风险。 纯动态网站,或在非详情页模板中且知道URL结构时。

实际操作步骤(以修改文章详情页为例)

  1. 登录后台:使用你的管理员账号登录DedeCMS后台。
  2. 找到模板文件:进入“模板” -> “默认模板管理”,找到并点击“文章内容页模板”后面的“修改”。
  3. 编辑模板:在打开的模板编辑器中,找到你想要添加“返回列表页”链接的位置(通常在文章标题下方或内容上方)。
  4. 插入代码:将方法一的代码粘贴进去。
    <div class="return-btn">
        <a href="{dede:field name='typeid' function='GetTypeUrl(@me)'/}">← 返回列表页</a>
    </div>
  5. 保存并更新:点击“保存”按钮,为了确保修改生效,建议去“生成” -> “一键更新网站”中,更新一下相关的HTML页面。

通过以上步骤,你就可以在你的网站上实现一个稳定、可靠的“返回列表页”功能了。

-- 展开阅读全文 --
头像
织梦连接数据库文件配置步骤是什么?
« 上一篇 04-14
dede文章标题如何加粗?
下一篇 » 04-14

相关文章

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

目录[+]