Typecho 自定义导航菜单插件:NavMenu 修改版

Typecho插件 2021-03-10 1030℃ 10 3

Typecho 自定义菜单插件

安装说明

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

插件说明

此插件早在2015年原作者merdan在大三时就已完成。当时只支持单个菜单,后来抽点时间改成多菜单支持。

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

插件特点:

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

使用方法

  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' => '', // 容器自定义class
    'current' => 'current', // 当前菜单的类名
    'caret' => '+' // 有子菜单的菜单添加提示下拉图标
];

插件截图

截图截图

其他

  1. 插件没有提供前端菜单样式,可根据主题进行自定义布置
  2. 后台菜单结构拖动有点问题, 但可以正常使用,已经修复这个问题了

typecho-plugin-navmenu
下载次数:86

评论 (10)

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

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

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

      回复
    • 后两个已经解决,升级吧

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

    回复
    • 我试了一下,没问题啊

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

    • 我也是用 360 测试的,就是没问题狂汗

      回复
    • 我也是用 360 测试的,就是没问题狂汗

      回复
Top