studioespresso / craft-navigate
Craft CMS 的导航插件
5.1.2
2024-05-16 18:22 UTC
Requires
- craftcms/cms: ^5.1.0
Requires (Dev)
- craftcms/ecs: dev-main
- craftcms/phpstan: dev-main
- dev-develop-v5
- v5.x-dev
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.1
- 5.0.0
- 5.0.0-alpha.4
- 5.0.0-alpha.3
- 5.0.0-alpha.2
- 5.0.0-alpha
- 3.2.1
- 3.2.0
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-beta.1
- 2.9.1
- 2.9.0
- 2.8.1
- 2.8.0
- 2.7.8
- 2.7.7
- 2.7.6
- 2.7.5
- 2.7.4
- 2.7.3
- 2.7.2
- 2.7.1
- 2.7.0
- 2.6.2
- 2.6.1
- 2.6.0
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.0
- 2.2.1
- 2.2.0
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-beta.1
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.1
- 1.0.0
- dev-master
- dev-develop
- dev-craft3
This package is auto-updated.
Last update: 2024-09-16 19:10:45 UTC
README
简化菜单和导航。
要求
此插件与 Craft CMS 3.x、4.x 和 5.x 兼容
安装
要安装此插件,请按照以下说明操作。
cd /path/to/project
composer require studioespresso/craft-navigate
./craft install/plugin navigate
模板
craft.navigate.raw
craft.navigate.raw
将为您提供添加到导航中的项目数组,如果您有子项目,则为每个子项目提供子项目。对于每个节点,您将可以访问
{% set nav = craft.navigate.raw('navHandle') %} {% for node in nav %} {{ node.name }} {{ node.url }} {{ node.classes }} {{ node.blank }} {{ node.children }} {% endfor %}
这使您可以完全控制用于显示导航的 HTML 和 CSS。
以下是如何使用 twig 宏显示导航及其可能子项的示例
{% import _self as macros %} {% macro renderNode(node) %} {% import _self as macros %} <li class="{% if node.classes|length %}{{ node.classes }}{% endif %}"> <a href="{{ node.url }}" class="{% if node.active %}active{% endif %}" {% if node.blank %}target="_blank" rel="noopener"{% endif %}>{{ node.name }} </a> {% if node.children|length %} <ul> {% for child in node.children %} {{ macros.renderNode(child) }} {% endfor %} </ul> {% endif %} </li> {% endmacro %} <div> <ul> {% for node in nodes %} {{ macros.renderNode(node) }} {% endfor %} </ul> </div>
标题
从 2.3.0 版本开始,可以添加标题以简化构建包含多个部分或列的较大导航。要充分利用此功能,请检查 node.type == "heading"
并在条件中添加所需的 HTML。
这些只在多级上(例如:顶层有 3 个标题,每个标题都有更深层次的导航项)有效。
配置
您可以在 config
目录中创建一个名为 navigate.php
的文件(您可以将 此文件 复制以开始)来在您的代码中管理这些设置。下面列出的设置在控制面板中不可用。
禁用缓存
默认情况下,插件会在 devMode
未启用时缓存其查询。
如果您希望完全禁用插件中的缓存,您可以在插件配置文件中将 disableCaching
设置为 true
。(请参阅示例 此处)
CSS 类选项列表
除了将“类”字段作为纯文本字段外,您还可以将其更改为包含用户想要提供的预定义下拉菜单的类。设置 nodeClasses
的数组包含“要应用的类”=>“在 cp 中显示的标签”。
"nodeClasses" => [ '' => '---', 'nav nav-primary' => "Primary", 'nav nav-highlight' => 'Highlight' ]
请确保还包括一个空选项,以防您不希望默认选中第一个选项
由 Studio Espresso 提供