使用自定义样式隐藏(最推荐,最简单)
这是最常用且最安全的方法,因为它只是隐藏了元素,而没有修改核心代码,升级系统时不会失效。

(图片来源网络,侵删)
操作步骤:
- 找到你的模板文件(通常是
list_article.htm或article_article.htm等列表页模板)。 - 在
{dede:pagelist}标签中,添加一个listitem属性,只保留你想要显示的项目。 - 为“下一页”的链接添加一个自定义的 CSS 类,然后在你的 CSS 文件中将其隐藏。
示例代码:
修改模板文件 (list_article.htm)
<div class="dede_pages">
<ul class="pagelist">
<!--
listitem 属性控制显示哪些项目:
index 首页, pre 上一页, pageno 页码, next 下一页, end 末页
我们去掉 next,这样就不再生成“下一页”的HTML代码了。
如果你想保留“下一页”的代码但用CSS隐藏,可以保留 next。
-->
{dede:pagelist listitem='index,pre,pageno,end' listsize='5'/}
</ul>
</div>
或者,如果你想用CSS隐藏,可以保留 next:

(图片来源网络,侵删)
<div class="dede_pages">
<ul class="pagelist">
{dede:pagelist listitem='index,pre,next,pageno,end' listsize='5'/}
</ul>
</div>
添加CSS代码
在你的模板的 CSS 文件(/templets/你的模板/style/css.css)中,添加以下样式:
/* 方法一:直接移除 listitem 中的 'next'(推荐) */
/* 这种方法下,你不需要添加任何CSS,因为“下一页”的HTML根本不会生成。 */
/* 方法二:如果保留了 'next',则用CSS隐藏 */
.pagelist a.nextpage {
display: none; /* 隐藏“下一页”链接 */
}
说明:
listitem='index,pre,pageno,end':这个写法直接告诉pagelist标签不要生成“下一页”的 HTML 代码,这是最干净、最高效的方法。.pagelist a.nextpage:pagelist标签默认会给“下一页”的链接加上class="nextpage",我们通过 CSS 选择器找到它,并将其display设置为none即可隐藏。
修改 include/arc.listview.class.php 文件(不推荐,有风险)
这个方法直接修改 DedeCMS 的核心文件,可以彻底移除“下一页”的生成逻辑。强烈不推荐,因为:

(图片来源网络,侵删)
- 升级风险:当你升级 DedeCMS 时,这个文件会被覆盖,你的修改会丢失,需要重新修改。
- 维护困难:如果多人协作,别人可能不知道你修改了核心文件,导致问题。
如果你仍然要使用此方法,请按以下步骤操作:
操作步骤:
- 备份你的网站,特别是
include/arc.listview.class.php文件。 - 用代码编辑器(如 VS Code, Sublime Text, Notepad++)打开
include/arc.listview.class.php文件。 - 搜索
GetPageListST函数(这是处理分页列表的核心函数)。 - 在函数内找到生成“下一页”代码的部分,通常是类似
$this->GetNextPageList();的代码调用。 - 将这行代码注释掉或删除。
示例代码:
在 arc.listview.class.php 文件中,找到类似下面这样的代码块:
// ... 其他代码 ...
function GetPageListST($listitem="index,pre,next,end,option") {
// ... 其他逻辑 ...
// 生成上一页
if($this->nowPage > 1)
{
$prepage.="<li><a href='".$purl."PageNo=".($this->nowPage-1)."'>上一页</a></li>";
$indexpage="<li><a href='".$purl."PageNo=1'>首页</a></li>";
}
// ====== 这是生成“下一页”的代码,需要注释掉或删除 ======
if($this->nowPage != $totalpage && $totalpage > 1)
{
$nextpage.="<li><a href='".$purl."PageNo=".($this->nowPage+1)."'>下一页</a></li>";
$endpage="<li><a href='".$purl."PageNo=$totalpage'>末页</a></li>";
}
// ======================================================
// ... 其他逻辑 ...
}
操作:
将生成“下一页”和“末页”的 if 语句块注释掉(在行首加上 )或直接删除。
// ... 其他代码 ...
function GetPageListST($listitem="index,pre,next,end,option") {
// ... 其他逻辑 ...
// 生成上一页
if($this->nowPage > 1)
{
$prepage.="<li><a href='".$purl."PageNo=".($this->nowPage-1)."'>上一页</a></li>";
$indexpage="<li><a href='".$purl."PageNo=1'>首页</a></li>";
}
// ====== 注释掉生成“下一页”和“末页”的代码 ======
/*
if($this->nowPage != $totalpage && $totalpage > 1)
{
$nextpage.="<li><a href='".$purl."PageNo=".($this->nowPage+1)."'>下一页</a></li>";
$endpage="<li><a href='".$purl."PageNo=$totalpage'>末页</a></li>";
}
*/
// ======================================================
// ... 其他逻辑 ...
}
总结与建议
| 方法 | 优点 | 缺点 | 推荐度 |
|---|---|---|---|
修改 listitem 属性 |
简单、安全、不影响升级 | 需要同时修改模板和CSS | ⭐⭐⭐⭐⭐ (强烈推荐) |
| 修改核心文件 | 彻底解决问题,无需CSS | 有升级风险,维护困难 | ⭐ (除非必要,否则不要使用) |
对于绝大多数用户来说,方法一 是最佳选择,它既能达到你的目的,又不会对网站造成潜在的长期风险。
