最直接和推荐的方法是修改 /include/arc.listview.class.php 文件,这个文件负责处理列表页的分页逻辑。

修改核心分页类文件 (推荐)
这是最根本、最彻底的修改方法,适用于所有使用 DedeCMS 默认分页逻辑的页面(包括列表页、搜索页等)。
操作步骤:
-
找到文件 通过 FTP 或主机管理面板,登录到你的网站服务器,找到并下载以下文件:
你的网站目录/include/arc.listview.class.php -
编辑文件 使用代码编辑器(如 VS Code, Sublime Text, Notepad++ 等)打开这个文件。
(图片来源网络,侵删) -
定位代码 在文件中,搜索
GetPageList函数,在这个函数内,找到生成分页链接的代码行,通常是这样的:$listitem.="<a href='".$purl."/".$j."'>".$j."</a>\r\n";
或者
$listitem.="<a href=\"".$plisturl."\">".$lable."</a>\r\n";
-
添加
target属性 在<a>标签中,添加target="_self"属性,强制链接在当前窗口打开。修改前 (示例):
(图片来源网络,侵删)// 生成页码链接 $listitem.="<a href='".$purl."/".$j."'>".$j."</a>\r\n";
修改后 (示例):
// 生成页码链接,添加 target="_self" $listitem.="<a href='".$purl."/".$j."' target='_self'>".$j."</a>\r\n";
修改前 (另一个示例):
$listitem.="<a href=\"".$plisturl."\">".$lable."</a>\r\n";
修改后 (另一个示例):
$listitem.="<a href=\"".$plisturl."\" target='_self'>".$lable."</a>\r\n";
注意: 你可能需要修改不止一处
echo "<a href..."的地方,确保所有分页链接(包括上一页、下一页、首页、尾页等)都被修改。 -
保存并上传 保存修改后的文件,并通过 FTP 上传回服务器,覆盖原文件。
-
清空缓存 登录 DedeCMS 后台,进入【系统】->【SQL命令行工具】,执行
ClearAllCache();来清空系统缓存,或者直接在后台首页点击“清空所有缓存”。
完成以上步骤后,所有列表页、搜索页等使用默认分页的页面,其分页链接都会在当前窗口打开。
修改模板文件 (适用于特定模板)
如果你只想修改某一个特定列表页模板(list_article.htm)的分页显示,而不想影响其他页面,可以修改对应的模板文件。
操作步骤:
-
找到模板文件 在 DedeCMS 后台,进入【模板】->【默认模板管理】,找到你想要修改的列表模板,列表文章模板” (
list_article.htm),点击“修改”。 -
编辑模板 在模板代码中,找到调用分页的标签,通常是:
{dede:pagelist listsize='4' listitem='pre,next,end,index'} -
添加
function属性 在{dede:pagelist}标签中,添加function="str_replace('target="_blank"','target="_self"',@me)"属性,这个函数的作用是,在输出分页HTML代码前,将其中的target="_blank"替换为target="_self"。修改前:
{dede:pagelist listsize='4' listitem='pre,next,end,index'}修改后:
{dede:pagelist listsize='4' listitem='pre,next,end,index' function='str_replace("target=\"_blank\"","target=\"_self\"",@me)'} -
保存 点击“保存”按钮,DedeCMS 会自动更新模板缓存。
这种方法的好处是灵活,只针对特定模板生效,不会修改核心文件,升级 DedeCMS 时也无需重复修改。
总结与建议
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 方法一 (修改核心文件) | 一劳永逸,所有分页都会生效,代码修改简单。 | 修改了核心文件,DedeCMS 升级后可能会被覆盖,需要重新修改。 | 希望全站所有分页都统一行为,且不介意在升级后进行维护。 |
| 方法二 (修改模板) | 灵活安全,只影响特定模板,不影响核心文件,升级无忧。 | 需要为每个需要修改的模板单独设置,如果模板多会比较麻烦。 | 只想修改某一个或几个特定列表页的分页行为。 |
个人推荐:
- 如果你希望整个网站的分页行为都保持一致,强烈推荐使用方法一,这是最规范、最彻底的解决方案。
- 如果你只是临时修改某个专题页或者某个频道页,可以使用方法二,快速且安全。
请根据你的实际需求选择最适合你的方法,在进行任何文件修改前,强烈建议先备份原文件,以防万一。
