导航菜单

插件特点:

  1. 多菜单支持
  2. 支持分类、独立页面和自定义页面链接
  3. 支持编辑菜单项(自定义菜单名称,自定义class, 新窗口等)
  4. 可拖动设置顺序和层级
  5. 菜单结构可自定义,方便个性化布局
  6. 支持内置变量替换,使用内置页面即可
  7. 支持删除菜单

安装说明

将插件克隆到本地, 放到 usr/plugins 目录下即可。

插件说明

最近站长用到了这个插件,发现这个插件存在许多bug,一一修复并发布到 Github。

使用方法

  1. 后台启用插件
  2. 进入主菜单 控制台->菜单管理 即可看到菜单设置页面。
  3. 默认有名为default 的菜单,在左侧新增菜单可以新增。
  4. 左下方的菜单项里可添加分类,独立页面、内置页面和自定义链接到右侧菜单结构中。
  5. 拉动菜单结构可以调整菜单顺序和层次。
  6. 调整完了之后 务必点击 保存设置 按钮进行保存,否则菜单不会生效
  7. 在主题中使用一下方法调用菜单:
<?php Typecho_Widget::widget('NavMenu_List')->navMenu('header'); ?>
  1. 当前菜单有相应的 .current class 名,可进行菜单高亮等布置

调用函数说明:

/**
 * @param string $menu 菜单名称
 * @param null $navOptions 菜单配置
 */
public function navMenu($menu = 'default', $navOptions = NULL)

菜单配置项

[
    'wrapTag' => 'ul', // 菜单项的容器
    'wrapClass' => '', // 容器自定义class
    'wrapId' => '', // 容器自定义ID (二级菜单展开等功能可使用ID 去解决)
    'itemTag' => 'li', // a 链接的容器
    'itemClass' => '{has-children}menu-has-children{/has-children}', // 容器自定义class
    'item' => '<a class="{class}" href="{url}" {target}>{name} {caret}</a>', // a 链接模板
    'linkClass' => '', // a 链接的 class
    'subMenu' => '<ul class="{class}">{content}</ul>', // 子菜单的包裹模板
    'current' => 'current', // 当前菜单的类名
    'caret' => '+' // 有子菜单的菜单添加提示下拉图标 item 属性中的 {caret} 会被替换为这个属性
];

比如我要输出 bootstrap 的菜单

Typecho_Widget::widget('NavMenu_List')->navMenu('header', [
    'wrapTag' => 'ul',
    'wrapClass' => 'navbar-nav me-auto mb-2 mb-lg-0',
    'itemClass' => 'nav-item {has-children}dropdown{/has-children}',
    'item' => '<a class="{class} {has-children}dropdown-toggle{/has-children}" href="{url}">{name}</a>',
    'linkClass' => 'nav-link',
    'subMenuClass' => 'dropdown-menu',
    'current' => 'active'
]);

插件截图

NavMenu插件预览

后台预览

https://admin-demo.iplayloli.com/admin/extending.php?panel=NavMenu%2Fpanel%2Fnav-menus.php
用户名 test
密码 test123456

其他

更新日志

2023.05.09 更新至 1.12 版本,增加几个输出属性
2022.04.29 更新至 1.11 版本,修复 PHP 8.0 报错,修复删除菜单后提示菜单不存在

插件下载

[github url="https://github.com/benzBrake/NavMenu" /]

typecho-plugin-navmenu
下载方式:免费下载更新时间:2021-08-15 13:08:40下载次数:747

已有 129 条评论

    1. Ryan
      未知地区

      链接是Github的,没问题,上不去你自己想办法吧

  1. 猫叔
    北京市

    有几个小问题:1、后台菜单名称设置增加样式(菜单脚标),前端有效,后端代码溢出,且点击向下箭头无法管理;2、可以新增菜单名称,但没有删除菜单的选项;3、禁用并删除插件不会删除数据。

    1. Ryan
      未知地区

      第一个不是很懂,后面两个问题卧室知道的,不过我估计今年我都没时间改了

    2. Ryan
      未知地区

      后两个已经解决,升级吧

  2. 一个人……
    河北省

    貌似跳转错误了,链接指向没有跳转到github
    还好在typecho的github插件仓库找到了原作者merdan才看到了博主的名字

      1. 一个人......
        河北省

        360和谷歌浏览器都试过了,停留在attachment/typecho-plugin-navmenu?download然后没有反应了,
        应该是响应阶段有问题,建议检查一下捂嘴笑

  3. 颜如嘤
    安徽省

    启用插件显示服务器错误

  4. iii
    广西

    赞!

  5. 感谢
    浙江省

    1.2 好像用不了?

  6. Yakito
    越南Vietel(越南电信)xDSL宽带

    我正在使用单列主题,它会很好用吗?想一想

  7. 7in
    日本

    需要需要!

  8. lkk
    北京市

    你哈

  9. lkk
    北京市

    装上显示,菜单不存在

  10. 箫篮剑
    山东省

    谢谢大佬分享,正好需要啊

  11. ycp
    浙江省

    六名