gibbs / phile-sub-navigation
此包已被废弃,不再维护。未建议替代包。
生成philecms嵌套层次结构
1.0.1
2014-07-07 20:25 UTC
Requires
This package is auto-updated.
Last update: 2021-11-18 21:13:21 UTC
README
A PhileCMS 插件,用于生成可用于创建嵌套导航菜单的层次树。
1. 安装
通过 composer 安装
composer require "gibbs/phile-sub-navigation:1.*"
通过 git 安装
从 phile 目录克隆此存储库到 plugins/gibbs/phileSubNavigation。例如
git clone git@github.com:Gibbs/phileSubNavigation.git plugins/gibbs/phileSubNavigation
手动安装
下载并解压内容到: plugins/gibbs/phileSubNavigation
2. 插件激活
在您的 config.php 文件中激活插件
$config['plugins']['gibbs\\phileSubNavigation'] = array('active' => true);
3. 参数
此插件返回一个名为 navigation 的变量。网站层次结构中的每个项目都有以下参数
active- 当项目是当前页面时为真level- 当前页面的嵌套深度。meta- 关联的页面元信息path- 当前路径,例如blog/postparent- 页面的父级uri-path的别名url- 页面的完整 URL
4. 示例用法
为了灵活,此插件不会生成任何 HTML - 这取决于您使用的模板引擎。
更多示例可在 wiki 上找到
可以使用引用子键来使用特定路径的子代,例如 /blog/
Twig - 列出 /blog/ 的子代
<ul> {% for item in navigation.blog.children %} <li> <a href="{{ item.uri }}">{{ item.meta.title }}</a> </li> {% endfor %} </ul>
Twig - 列出 /blog/archive/ 的子代
<ul> {% for item in navigation.blog.children.archive.children %} {% if item.active %} <li class="active"> {% else %} <li> {% endif %} <a href="{{ item.uri }}">{{ item.meta.title }}</a> </li> {% endfor %} </ul>
Twig - 整个网站层次结构示例
<!-- Twig Macro --> {% macro sub_navigation(navigation) %} {% import _self as macros %} {% for item in navigation %} <li> <a href="{{ item.uri }}">{{ item.meta.title }}</a> {% if item.children %} <ul> {{ macros.sub_navigation(item.children) }} </ul> {% endif %} </li> {% endfor %} {% endmacro %} {% import _self as macros %} <ul>{{ macros.sub_navigation(navigation) }}</ul>
要调试插件输出,请在插件 config.php 文件中设置 'print' => true。
4. 缓存
默认情况下禁用缓存,并依赖于 phile\\simpleFileDataPersistence(默认启用)。
要启用缓存,请编辑插件的 config.php 文件并将 cache 设置为 true。
注意:缓存会导致一些参数(如 active)停止工作。