dede pagelist 取消下一页

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

使用自定义样式隐藏(最推荐,最简单)

这是最常用且最安全的方法,因为它只是隐藏了元素,而没有修改核心代码,升级系统时不会失效。

dede pagelist 取消下一页
(图片来源网络,侵删)

操作步骤:

  1. 找到你的模板文件(通常是 list_article.htmarticle_article.htm 等列表页模板)。
  2. {dede:pagelist} 标签中,添加一个 listitem 属性,只保留你想要显示的项目。
  3. 为“下一页”的链接添加一个自定义的 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

dede pagelist 取消下一页
(图片来源网络,侵删)
<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.nextpagepagelist 标签默认会给“下一页”的链接加上 class="nextpage",我们通过 CSS 选择器找到它,并将其 display 设置为 none 即可隐藏。

修改 include/arc.listview.class.php 文件(不推荐,有风险)

这个方法直接修改 DedeCMS 的核心文件,可以彻底移除“下一页”的生成逻辑。强烈不推荐,因为:

dede pagelist 取消下一页
(图片来源网络,侵删)
  1. 升级风险:当你升级 DedeCMS 时,这个文件会被覆盖,你的修改会丢失,需要重新修改。
  2. 维护困难:如果多人协作,别人可能不知道你修改了核心文件,导致问题。

如果你仍然要使用此方法,请按以下步骤操作:

操作步骤:

  1. 备份你的网站,特别是 include/arc.listview.class.php 文件。
  2. 用代码编辑器(如 VS Code, Sublime Text, Notepad++)打开 include/arc.listview.class.php 文件。
  3. 搜索 GetPageListST 函数(这是处理分页列表的核心函数)。
  4. 在函数内找到生成“下一页”代码的部分,通常是类似 $this->GetNextPageList(); 的代码调用。
  5. 将这行代码注释掉或删除。

示例代码:

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 有升级风险,维护困难 (除非必要,否则不要使用)

对于绝大多数用户来说,方法一 是最佳选择,它既能达到你的目的,又不会对网站造成潜在的长期风险。

-- 展开阅读全文 --
头像
织梦DedeCMS服务器环境如何安全设置?
« 上一篇 12-04
织梦DedeCMS计划任务怎么用?
下一篇 » 12-04

相关文章

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

目录[+]