导航菜单

navmenu.png

插件特点:

  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插件预览

其他

更新日志

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

相关下载(点击提取码即可复制提取码并打开下载页面)

已有 135 条评论

  1. conp
    江苏省

    666a啊

  2. yeqi
    安徽省

    先试试,看看能不能适配主题

  3. kenbi
    越南

    Hayyyy 你好

  4. 1
    广东省

    牛逼

  5. 李白
    广东省

    我想下载下来用一用

  6. 1
    江西省

    牛啊

  7. 谢谢
    浙江省

    谢谢谢谢谢谢谢谢

  8. Dean
    广东省

    666啊

  9. dans88
    上海市

    试试,看看能不能适配主题

  10. 5555
    江苏省

    666啊

  11. ins888
    陕西省

    需要删掉有些插件的菜单笑眼

  12. Allen
    重庆市

    挺不错

  13. dans88
    上海市

    这个还是可以

  14. Fay
    江苏省

    用来试试