studioespresso/craft-navigate

Craft CMS 的导航插件


README

简化菜单和导航。

Easy Address Field

要求

此插件与 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 提供