织梦上一篇下一篇按钮如何自定义样式与链接?

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

基础用法(最常用)

这是最直接、最常用的方法,代码简洁,功能齐全。

织梦上一篇下一篇按钮
(图片来源网络,侵删)

找到模板文件

登录你的织梦后台,进入【模板】->【默认模板管理】。

找到你当前正在使用的文章内容页模板,文件名通常是 article_article.htm,点击右侧的【修改】按钮。

插入代码

在你希望显示“上一篇/下一篇”按钮的位置,例如文章内容的下方,插入以下代码:

<div class="prenext">
  <strong>上一篇:</strong>{dede:prenext get='pre'/} 
  <strong>下一篇:</strong>{dede:prenext get='next'/}
</div>

代码解释:

织梦上一篇下一篇按钮
(图片来源网络,侵删)
  • {dede:prenext get='pre'}:这个标签就是用来获取并显示“上一篇”文章的。
  • {dede:prenext get='next'}:这个标签就是用来获取并显示“下一篇”文章的。
  • <strong>...</strong>:这是加粗标签,用于让“上一篇:”和“下一篇:”的文字更醒目,你可以用 <span> 或其他任何HTML标签来替换,以适应你的样式。

保存并更新

点击模板文件底部的【保存】按钮,为了确保效果,你可以去后台的【生成】->【更新HTML】中,选择“所有栏目”或“指定文章”进行更新。

效果预览:

在你网站的文章页,你就会看到类似这样的效果:

上一篇: 织梦CMS如何安装配置 下一篇: 织梦常用标签大全


进阶用法(自定义样式和链接)

基础用法虽然方便,但样式比较单一,很多时候,我们希望让它看起来更像一个按钮,并且希望点击的是文章标题,而不是“上一篇/下一篇”这几个字。

我们可以通过修改HTML结构来实现。

修改后的HTML代码

将上面的代码替换为以下更灵活的结构:

<div class="article-nav">
  <div class="nav-prev">
    {dede:prenext get='pre'/}
  </div>
  <div class="nav-next">
    {dede:prenext get='next'/}
  </div>
</div>

配合CSS样式

为了让它看起来像按钮,你需要在你的CSS文件(/templets/你的模板/style/ 目录下的 .css 文件)中添加一些样式。

/* 整个导航容器的样式 */
.article-nav {
  display: flex; /* 使用flex布局,让左右两部分并排 */
  justify-content: space-between; /* 两端对齐,让左右分开 */
  margin: 30px 0;
  padding: 15px;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
/* 左边“上一篇”区域的样式 */
.nav-prev {
  flex: 1; /* 占据一半空间 */
  text-align: left;
}
/* 右边“下一篇”区域的样式 */
.nav-next {
  flex: 1; /* 占据一半空间 */
  text-align: right;
}
/* “上一篇/下一篇”文字的样式 */
.nav-prev strong,
.nav-next strong {
  color: #999;
  font-size: 14px;
}
/* 链接的样式 */
.nav-prev a,
.nav-next a {
  color: #333;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  transition: color 0.3s ease; /* 鼠标悬停时的颜色过渡效果 */
}
/* 鼠标悬停在链接上时的样式 */
.nav-prev a:hover,
.nav-next a:hover {
  color: #0066cc;
}
/* 如果没有上一篇或下一篇时的样式 */
.nav-prev strong.noarticle,
.nav-next strong.noarticle {
  display: none; /* 隐藏“上一篇:”或“下一篇:”文字 */
}
.nav-prev a.noarticle,
.nav-next a.noarticle {
  color: #ccc; /* 链接文字变为灰色 */
  cursor: not-allowed; /* 鼠标指针变为禁止样式 */
}

代码解释:

  • 我们使用了 flex 布局,让“上一篇”和“下一篇”自动左右分开,非常方便。
  • 通过 .nav-prev.nav-next 分别控制左右两边的对齐方式(左对齐和右对齐)。
  • 为链接添加了 hover 效果,提升用户体验。
  • 特别处理了“没有文章”的情况(比如第一篇文章没有上一篇,最后一篇没有下一篇),通过 .noarticle 类来改变其样式,使其更友好。

{dede:prenext} 标签的完整参数说明

这个标签本身也支持一些参数,可以让你控制其显示内容。

标签格式: {dede:prenext get='pre' titlelen='24' intrmore='1'}...{/dede:prenext}

常用参数:

  • get='pre'get='next':必须参数,指定是获取上一篇还是下一篇,len='24'`:标题长度,数字表示显示多少个汉字,默认是40。
  • innertext='':自定义标签内的内容。
    {dede:prenext get='pre' titlelen='20' innertext='<span class="prev-icon">←</span> <a href="[field:arcurl/]">[field:title/]</a>' /}

    这样你就可以完全自定义上一篇的HTML结构了。[field:arcurl/] 是文章链接,[field:title/] 是文章标题。

  • type='':不常用,可以指定返回数据的类型。

示例:使用 innertext 完全自定义

如果你想实现一个更简洁、图标化的导航,可以这样写:

<div class="article-nav-mini">
  {dede:prenext get='pre' titlelen='30' innertext='<i class="fa fa-chevron-left"></i> <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a>' /}
  {dede:prenext get='next' titlelen='30' innertext='<a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a> <i class="fa fa-chevron-right"></i>' /}
</div>

(注意:使用 fa 图标需要你引入 Font Awesome 或其他图标库)


常见问题与解决

问题1:为什么上一篇/下一篇显示的是“没有上一篇了”或“没有下一篇了”?

原因: 这是正常现象,当文章是栏目里的第一篇时,自然就没有“上一篇”了;当是最后一篇时,就没有“下一篇”了。

解决方法: 如进阶用法中所示,你可以通过CSS来美化这种“没有文章”的状态,让它在视觉上不那么突兀,将链接文字变灰,并添加 cursor: not-allowed 样式。

问题2:为什么上一篇/下一篇的链接是错的,跳转到了别的栏目?

原因: 这通常是由于 栏目交叉 造成的,如果你的文章同时属于多个栏目(在后台文章编辑页的“选择栏目”里勾选了多个),织梦的上一篇/下一篇逻辑可能会按照错误的栏目顺序来查找。

解决方法:

  1. 避免交叉:尽量不要让文章同时属于多个顶级栏目。
  2. 设置主栏目:如果必须交叉,请在编辑文章时,务必指定一个“主栏目”,在文章编辑页的右上角,有一个“高级选项”按钮,点击后可以设置“主分类”,织梦会优先在主分类里查找上一篇/下一篇。

对于绝大多数用户,基础用法已经足够,如果你对网站的样式有要求,强烈推荐使用进阶用法,它能让你完全控制“上一篇/下一篇”的外观和交互,打造出更符合网站整体风格的效果。

-- 展开阅读全文 --
头像
dede tag页标题分页
« 上一篇 02-17
谭浩强C语言视频教程适合零基础学吗?
下一篇 » 02-17

相关文章

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

目录[+]