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 提供