dede如何修改导航栏菜单数量上限?

99ANYc3cd6
预计阅读时长 11 分钟
位置: 首页 DEDE建站 正文
  1. 你想修改的是后台“栏目管理”里显示的数量。

    dede修改导航数量
    (图片来源网络,侵删)

    这通常是系统设置,用于控制后台列表每次加载显示多少条记录,不影响前台网站。

  2. 你想修改的是前台网站导航栏上显示的菜单项数量。

    这才是最常见的需求,比如主导航有5个栏目,你想改成7个,这需要修改模板文件。

下面我将针对这两种情况,提供详细的图文步骤说明。

dede修改导航数量
(图片来源网络,侵删)

修改后台“栏目管理”的列表显示数量

这个设置控制的是你在后台“栏目管理”页面,每次加载显示的栏目条目数。

操作步骤:

  1. 登录后台:使用你的管理员账号登录DedeCMS后台。

  2. 进入系统设置:在左侧菜单栏中,找到并点击 “系统” -> “系统基本参数”

    dede修改导航数量
    (图片来源网络,侵删)
  3. 找到核心设置选项:在“系统基本参数”页面,顶部的标签页选择 “核心设置”

  4. 修改栏目列表数量:在列表中找到 “栏目列表显示数量” 这个选项,它后面的默认值通常是 2050,你可以把它修改为你想要的数字,100

  5. 保存设置:修改完成后,务必点击页面底部的 “保存” 按钮。

完成以上步骤后,你再进入“栏目管理”,每次加载的栏目数量就会变成你设置的数量了。这个修改不会影响前台网站的导航栏


修改前台网站导航栏的菜单项数量

这才是我们通常所说的“改导航数量”,这个过程需要你修改网站的模板文件,假设你的网站使用的是默认模板。

操作步骤:

  1. 找到模板文件

    • 通过FTP工具或主机控制面板的文件管理器,登录到你的网站服务器。
    • 进入DedeCMS的安装目录,找到 templets 文件夹。
    • 进入 templets 文件夹,再进入你当前使用的模板文件夹(default)。
    • 在这个文件夹里,找到 head.htm 文件,这个文件通常包含了网站的 <head> 部分以及主导航栏的HTML代码。
  2. 编辑模板文件

    • 用代码编辑器(如 Notepad++, VS Code, Sublime Text 等)打开 head.htm 文件。
  3. 定位并修改导航代码

    • head.htm 文件中,找到调用栏目的代码,它通常看起来像下面这样:
    {dede:channel type='top' row='10'}
    <li><a href='[field:typeurl/]'>[field:typename/]</a></li>
    {/dede:channel}
    • 关键参数解析
      • {dede:channel}:这是DedeCMS的栏目调用标签。
      • type='top':表示只调用顶级栏目(也就是一级导航)。
      • row='10'这就是控制导航数量的关键! 它表示调用 10个 顶级栏目。
  4. 修改数量并保存

    • row='10' 中的数字 10 修改为你想要显示的数量,7
    • 修改后的代码如下:
    {dede:channel type='top' row='7'}
    <li><a href='[field:typeurl/]'>[field:typename/]</a></li>
    {/dede:channel}
  5. 更新网站缓存

    • 保存 head.htm 文件后,登录DedeCMS后台。
    • 在左侧菜单栏中,找到 “系统” -> “一键更新网站”
    • 在更新页面,勾选 “更新HTML”“更新主页” 等选项,然后点击 “开始更新”

    注意:更新缓存非常重要!如果不更新,前台网站可能不会立即显示修改后的效果。

完成以上步骤后,刷新你的前台网站,就会发现导航栏上显示的菜单数量已经改变了。


常见问题与高级技巧

问题1:我的导航栏是二级的,如何只显示一级下的5个栏目?

这需要使用 son 属性和 reid 属性,假设你的“产品中心”是一级栏目的ID为 2

{dede:channel type='son' row='5' reid='2'}
    <li><a href='[field:typeurl/]'>[field:typename/]</a></li>
{/dede:channel}
  • type='son':表示调用指定栏目的子栏目。
  • reid='2':指定要调用哪个栏目的子栏目(这里的 2 是“产品中心”栏目的ID,你需要在后台“栏目管理”中查看对应栏目的ID)。
  • row='5':表示只调用5个子栏目。

问题2:我想用CSS控制超出数量的栏目隐藏,而不是直接删除代码。

这是一种更灵活的方式,适用于响应式设计或下拉菜单。

  1. 修改模板:在 head.htm 中,先调用所有栏目(或者一个足够大的数量),并给它们加上一个共同的 class。

    <ul class="main-nav">
    {dede:channel type='top' row='20'}
        <li><a href='[field:typeurl/]'>[field:typename/]</a></li>
    {/dede:channel}
    </ul>
  2. 添加CSS代码:在你的CSS文件(通常是 templets/你的模板/css/style.css)中,添加以下样式来隐藏多余的导航项。

    /* 假设你想只显示前5个 */
    .main-nav li:nth-child(n+6) {
        display: none; /* 从第6个开始的所有li都隐藏 */
    }

这种方式的好处是,你可以通过修改CSS中的数字(n+6 改成 n+8)来快速调整显示数量,而不用频繁修改模板文件。

需求 修改位置 关键操作
后台栏目列表显示数量 后台 -> 系统基本参数 -> 核心设置 修改“栏目列表显示数量”的值并保存。
前台导航栏菜单项数量 模板文件 templets/你的模板/head.htm 修改 {dede:channel} 标签中的 row 属性值,并更新网站缓存。

希望这份详细的教程能帮助你成功修改DedeCMS的导航数量!

-- 展开阅读全文 --
头像
C语言中如何实现类似STL的count功能?
« 上一篇 04-20
织梦5.7发布模块有何更新亮点?
下一篇 » 04-20

相关文章

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

目录[+]