belugadigital / kirby-navigation
Kirby 3用于拖放级联菜单的字段。
3.0.1
2022-09-29 13:28 UTC
Requires
README
为Kirby CMSKirby CMS提供导航字段,
预览
安装与使用
将插件文件复制到插件目录或使用以下命令通过composer安装:composer require belugadigital/kirby-navigation
Kirby兼容性表
使用方法
将以下蓝图添加到您希望导航字段出现的地方
fields: navigation: label: Navigation type: navigation levels: 5 help: Description of menu or where it is used width: 1/2
包含两种字段方法,无论您深入多少级别,都会输出菜单
<?php echo $site->navigation()->toNavigationMarkup(); ?>
如果使用站点作为无头CMS或希望以JS方式使用菜单,可以使用以下字段方法返回菜单项数组
<?php $site->navigation()->toNavigationArray(); ?>
或者当使用Kirby查询语言时
{ "query": "site", "select": { "title": "site.title", "navigation": "site.navigation.toNavigationArray" } }
如果您想完全控制菜单,并希望使用foreach来创建菜单,可以像这样
<?php if($site->navigation()->isNotEmpty()): ?> <ul> <?php foreach($site->navigation()->toStructure() as $nav): ?> <li> <a href="<?php echo $nav->url(); ?>" <?php e($nav->isOpen(), 'aria-current') ?>> <?php echo $nav->text() ?> </a> <?php if($nav->children()->isNotEmpty()): ?> <ul> <?php foreach($nav->children()->toStructure() as $child): ?> <li> <a href="<?php echo $child->url() ?>"> <?php echo $child->text() ?> </a> </li> <?php endforeach ?> </ul> <?php endif ?> </li> <?php endforeach ?> </ul> <?php endif ?>
信息
默认嵌套限制设置为5,要允许更多级别,请调整蓝图中的级别选项
贡献
欢迎提交拉取请求。对于重大更改,请首先提交问题以讨论您想进行更改的内容。