belugadigital/kirby-navigation

Kirby 3用于拖放级联菜单的字段。

安装次数: 8,138

依赖项: 0

建议者: 0

安全: 0

星标: 78

关注者: 9

分支: 13

开放问题: 15

语言:Vue

类型:Kirby插件

3.0.1 2022-09-29 13:28 UTC

This package is auto-updated.

Last update: 2024-09-22 13:55:40 UTC


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,要允许更多级别,请调整蓝图中的级别选项

贡献

欢迎提交拉取请求。对于重大更改,请首先提交问题以讨论您想进行更改的内容。

许可

MIT