插件特点:
- 多菜单支持
- 支持分类、独立页面和自定义页面链接
- 支持编辑菜单项(自定义菜单名称,自定义class, 新窗口等)
- 可拖动设置顺序和层级
- 菜单结构可自定义,方便个性化布局
- 支持内置变量替换,使用内置页面即可
- 支持删除菜单
安装说明
将插件克隆到本地, 放到 usr/plugins
目录下即可。
插件说明
此插件早在2015年原作者
merdan
在大三时就已完成。当时只支持单个菜单,后来抽点时间改成多菜单支持。最近站长用到了这个插件,发现这个插件存在许多bug,一一修复并发布到 Github。
使用方法
- 后台启用插件
- 进入主菜单
控制台->菜单管理
即可看到菜单设置页面。 - 默认有名为
default
的菜单,在左侧新增菜单可以新增。 - 左下方的菜单项里可添加分类,独立页面、内置页面和自定义链接到右侧菜单结构中。
- 拉动菜单结构可以调整菜单顺序和层次。
- 调整完了之后 务必点击
保存设置
按钮进行保存,否则菜单不会生效 - 在主题中使用一下方法调用菜单:
<?php Typecho_Widget::widget('NavMenu_List')->navMenu('header'); ?>
- 当前菜单有相应的
.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'
]);
插件截图
其他
插件没有提供前端菜单样式,请自行根据主题制作
更新日志
2023.05.09 更新至 1.12 版本,增加几个输出属性
2022.04.29 更新至 1.11 版本,修复 PHP 8.0 报错,修复删除菜单后提示菜单不存在
地址失效了,怎么下载
链接是Github的,没问题,上不去你自己想办法吧
有几个小问题:1、后台菜单名称设置增加样式(菜单脚标),前端有效,后端代码溢出,且点击向下箭头无法管理;2、可以新增菜单名称,但没有删除菜单的选项;3、禁用并删除插件不会删除数据。
第一个不是很懂,后面两个问题卧室知道的,不过我估计今年我都没时间改了
后两个已经解决,升级吧
貌似跳转错误了,链接指向没有跳转到github
还好在typecho的github插件仓库找到了原作者merdan才看到了博主的名字
我试了一下,没问题啊
360和谷歌浏览器都试过了,停留在attachment/typecho-plugin-navmenu?download然后没有反应了,
应该是响应阶段有问题,建议检查一下。
需要需要!
我也是用 360 测试的,就是没问题
我也是用 360 测试的,就是没问题
启用插件显示服务器错误
把文件名改成NavMenu,就可以了
赞!
大佬牛逼qwq
带带弟弟
1.2 好像用不了?
这个有啥用?
谢谢分享
下载试试
下载下载
我正在使用单列主题,它会很好用吗?
需要需要!
你哈
我去试试
装上显示,菜单不存在
谢谢大佬分享,正好需要啊
六名
看看