dede pagelist如何去掉li标签?

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

使用 listitem 属性(推荐)

这是最简单、最官方的方法。listitem 属性用于指定要显示的分页项,它会自动应用相应的样式,并且不包含 <li>。

dede pagelist 去掉li
(图片来源网络,侵删)

默认情况下,{dede:pagelist} 会显示 首页上一页页码下一页末页,你可以通过 listitem 来控制显示哪些项。

基本语法:

{dede:pagelist listitem='index,pre,next,end'/}

参数说明:

  • index: 首页
  • pre: 上一页
  • pageno: 当前页码(通常不需要单独列出,页码列表会自动包含)
  • next: 下一页
  • end: 末页
  • option+下拉跳转框: 带有 "跳转到" 文本的下拉选择框

示例:

dede pagelist 去掉li
(图片来源网络,侵删)

假设你只想显示“上一页”、“页码”和“下一页”,可以这样写:

<div class="dede_pages">
    <ul class="pagelist">
        {dede:pagelist listitem='pre,next,pageno'/}
    </ul>
</div>

这样生成的 HTML 结构会是:

<div class="dede_pages">
    <ul class="pagelist">
        <span class="pagepre"><a href="/list/1_1.html">上一页</a></span>
        <span class="pageinfo">1/10</span>
        <span class="pagenxt"><a href="/list/1_2.html">下一页</a></span>
    </ul>
</div>

可以看到,分页项被 <span> 标签包裹,而不是 <li>,完美解决了问题。


使用自定义样式和函数(高级用法)

如果你对分页的 HTML 结构有完全自定义的需求,或者默认的 listitem 无法满足,你可以采用更灵活的方式:在列表页模板中,通过自定义的 PHP 函数来生成分页

dede pagelist 去掉li
(图片来源网络,侵删)

这种方法比较复杂,但能实现任何你想要的 HTML 结构。

步骤:

  1. 在列表页模板中禁用默认分页 在你的列表页模板文件(通常是 /templets/default/list_article.htm)中,找到 {dede:pagelist/} 标签并将其删除或注释掉

  2. 添加自定义的 PHP 代码 在模板中你希望显示分页的位置,添加如下代码:

    <div class="my-custom-pagination">
        <?php
        // 获取分页函数
        $listpage = '';
        // 调用DedeCMS内置的分页函数,传入模板文件路径
        // 你需要先在 /templets/default/ 目录下创建一个分页模板文件,mypage.htm
        $listpage = preg_replace('/<li[^>]*>/', '', $listpage); // 如果还想简单点,可以在这里用正则替换掉li,但不推荐
        echo $listpage;
        ?>
    </div>
  3. 创建自定义分页模板/templets/default/ 目录下,创建一个新的文件,mypage.htm,这个文件将定义分页的 HTML 结构。

    mypage.htm 文件内容示例:

    <span class="page-pre"><a href='[!--preurl--]'>上一页</a></span>
    <span class="page-num">[!--nowpage--] / [!--totalpage--]</span>
    <span class="page-next"><a href='[!--nexturl--]'>下一页</a></span>

    在这个模板文件里,你可以使用 DedeCMS 的分页变量,如 [!--preurl--] (上一页链接), [!--nexturl--] (下一页链接), [!--nowpage--] (当前页), [!--totalpage--] (总页数) 等。

  4. 修改 PHP 代码以调用新模板 修改列表页模板中的 PHP 代码,使其调用你刚刚创建的 mypage.htm

    <?php
    // 引入分页类
    require_once(DEDEINC.'/arc.partview.class.php');
    // 获取当前文档的环境信息
    $pv = new PartView();
    $pv->SetTemplet($GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir'].'/default/mypage.htm');
    $pv->Display();
    ?>

这种方法非常灵活,但需要对 PHP 和 DedeCMS 有一定的了解,对于绝大多数用户来说,方法一已经足够。


总结与推荐

方法 优点 缺点 适用场景
listitem 属性 简单、快速、官方推荐,无需修改文件,只需调整标签。 灵活性较低,只能选择预设的分页项,无法自定义 HTML 标签。 绝大多数情况下的首选,能快速解决去掉 <li> 的需求。
自定义函数 灵活性极高,可以完全控制分页的 HTML 结构和样式。 复杂,需要修改模板文件,甚至需要懂一些 PHP 代码。 当你需要非常特殊的分页样式,或者 listitem 无法满足业务需求时。

请优先使用 方法一,在你的列表页模板中,将原来的 {dede:pagelist/} 替换为:

{dede:pagelist listitem='index,pre,next,end'/}

并根据你的需要调整 listitem 的值即可,这是最干净、最安全的解决方案。

-- 展开阅读全文 --
头像
织梦模板主页为何是index.php?
« 上一篇 2025-12-12
C语言中default的关键作用是什么?
下一篇 » 2025-12-12

相关文章

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