TYPECHO WIKI
每一个作品都值得被记录

敬告读者,感谢您对本站的支持,在今年10月份因Racknerd机房硬盘事故,导致本站静态文件全部丢失,包含主题插件网站图片等文件,TypechoWiki经过几次更换站长,凝结了多位站长的心血,如今因为大意只备份了数据库未及时备份静态文件而导致严重数据丢失事故,现已无力回天,经过深思我决定后续可能永久停更该网站,请各位读者寻求其它Typecho周边下载站,另外如果你对本站感兴趣也欢迎报价,我们愿意出售该站联系邮箱[email protected],目前该站的静态文件仅为2019年以前的版本,2019年以后的各位站长精心维护的插件和主题压缩包以及站内图片全部丢失!

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

Typecho维基君插件列表 • 1290次浏览 • 发布 2023-06-23 • 更新 2023-06-23

插件简介

Typecho默认是没有菜单功能的,只能主题开发者在前台自行根据分类和页面去写菜单功能,今天分享的NavMenu插件就解决了这个困扰,我最早接触这个插件是当时的绛木子大神写过的同款插件TeMenu,不过在分享这个插件时我是在Ryan的博客看到说这个NavMenu最初的开发者是merdan【老版本】,NavMenu和TeMenu界面几乎一摸一样。

不过既然该款插件历史已经很久了,咱也不考究原作者了,能用就行。

265242273.png

插件特点

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

插件使用

  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'
]);
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,Typecho.Wiki所有文章均包含本声明。
下载地址

  更新时间:2023年06月23日

  软件作者:Ryan, merdan

  下载链接: 链接

厂商投放

【腾讯云】🎉五一云上盛惠!云服务器99元/月续费同价!

腾讯云五一劳动节海量产品 · 轻松上云!云服务器首年1.8折起,买1年送3个月!超值优惠,性能稳定,让您的云端之旅更加畅享。快来腾讯云选购吧!

广告
添加新评论 »

已有 2 条评论 »

  1. [...]插件简介TeMenu也是一款Typecho平台的菜单导航插件,这款插件是由绛木子大佬开发的,前面也分享过一篇由Ryan修改的Typecho导航菜单插件NavMenu,这两款插件功能是一样的,大家可以选择其中一个使用即可。[...]

  2. [...]名称简介版本作者 AMP生成AMP/MIP移动标准页面插件0.7.6.1Holmesian AjaxComments嵌套评论Ajax异步提交效果插件1.2.0Byends, Willin Kan AbbrSlug多种算法生成数字文章缩略名插件1.0.0羽叶 AllowIpTypecho可访问后台IP白名单插件1.0.1Fuzqing Announcement仿Emlog博客悬浮式公告栏插件1.0.[...]