PyroCMS 主题自定义导航结构
PyroCMS theme custom navigation structure
我到处搜索,但似乎无法在文档或其他任何地方找到任何内容。我创建了自己的自定义主题,从 PyroCMS 附带的 Starter 主题复制粘贴内容。在我的导航部分中有这个树枝指令:
{{ structure()
.linkAttributesDropdown({'data-toggle': 'dropdown'})
.listClass('nav navbar-nav navbar-right')
.childListClass('dropdown-menu')
.render()|raw }}
这在使用 Bootstrap 框架时有效。我正在使用 Purecss.io 并且我想分配不同的 类 并将 类 分配给更多元素。我的导航应如下所示:
<ul class="pure-menu-list">
<li class="pure-menu-item pure-menu-selected">
<a href="http://local.dev" class="pure-menu-link" >Home</a>
</li>
<li class="pure-menu-item pure-menu-has-children pure-menu-allow-hover">
<a href="http://local.dev/products" class="pure-menu-link">Item with children</a>
<ul class="pure-menu-children">
<li class="pure-menu-item">
<a href="http://local.dev/products/child1" class="pure-menu-link">Child 1</a>
</li>
<li class="pure-menu-item">
<a href="http://local.dev/products/chil2" class="pure-menu-link">Child 2</a>
</li>
</ul>
</li>
</ul>
我已经在我的部分中尝试了以下内容:
{{ structure()
.linkAttributesDropdown({'class': 'pure-menu-item pure-menu-has-children pure-menu-allow-hover'})
.listClass('pure-menu-list')
.elementClass('pure-menu-item')
.childListClass('pure-menu-children')
.render() }}
但这并不能解决问题。
我将如何做到这一点?在哪里可以找到所用函数 structure()、listClass() 等的文档?
提前致谢!
这里有一些信息:
最基本的默认设置如下所示,将创建一个包含所有现有页面的无序列表。如果您 set/toggled 一个页面 未 启用,则它不会显示。
{{ structure()|raw }}
更改列表元素class
{{ structure().list_class('navigation')|raw }}
将列表标签更改为无序列表以外的其他内容:
{{ structure().list_tag('dl')|raw }}
更改列表元素
{{ structure().link_tag('dt')|raw }}
仅显示 children 特定页面
{{ structure().root('/my-page')|raw }}
或 page-id {{ structure().root('9')|raw }}
为 children
的元素设置 class
{{ structure().dropdown_class('has-children')|raw }}
为每个 li 项设置一个 class:
{{ structure().item_class('has-children')|raw }}
设置一个class到link
{{ structure().link_class('my-class')|raw }}
向 link
添加标题属性
{{ structure().link_attributes({'title':'Title attribute'})|raw }}
不幸的是,这部分系统仍在开发中,但我可以向您展示宏以及如何与之交互:
https://github.com/anomalylabs/pages-module/blob/master/resources/views/macro.twig
您看到的链接是您设置选项的方式,因此 structure().fooBar(value)
在选项 集合 中将 foo_bar
选项设置为 value
.
对于 elementClass
,您可能正在寻找 linkClass
。也不要忘记使用 |raw
!
进行转义
看起来这会给你想要的标记:
{{ structure()
.currentClass('pure-menu-selected')
.dropdownClass('pure-menu-has-children pure-menu-allow-hover')
.linkAttributesDropdown({'class': 'pure-menu-item pure-menu-has-children pure-menu-allow-hover'})
.listClass('pure-menu-list')
.itemClass('pure-menu-item')
.linkClass('pure-menu-link')
.childListClass('pure-menu-children')
.render()|raw }}
我到处搜索,但似乎无法在文档或其他任何地方找到任何内容。我创建了自己的自定义主题,从 PyroCMS 附带的 Starter 主题复制粘贴内容。在我的导航部分中有这个树枝指令:
{{ structure()
.linkAttributesDropdown({'data-toggle': 'dropdown'})
.listClass('nav navbar-nav navbar-right')
.childListClass('dropdown-menu')
.render()|raw }}
这在使用 Bootstrap 框架时有效。我正在使用 Purecss.io 并且我想分配不同的 类 并将 类 分配给更多元素。我的导航应如下所示:
<ul class="pure-menu-list">
<li class="pure-menu-item pure-menu-selected">
<a href="http://local.dev" class="pure-menu-link" >Home</a>
</li>
<li class="pure-menu-item pure-menu-has-children pure-menu-allow-hover">
<a href="http://local.dev/products" class="pure-menu-link">Item with children</a>
<ul class="pure-menu-children">
<li class="pure-menu-item">
<a href="http://local.dev/products/child1" class="pure-menu-link">Child 1</a>
</li>
<li class="pure-menu-item">
<a href="http://local.dev/products/chil2" class="pure-menu-link">Child 2</a>
</li>
</ul>
</li>
</ul>
我已经在我的部分中尝试了以下内容:
{{ structure()
.linkAttributesDropdown({'class': 'pure-menu-item pure-menu-has-children pure-menu-allow-hover'})
.listClass('pure-menu-list')
.elementClass('pure-menu-item')
.childListClass('pure-menu-children')
.render() }}
但这并不能解决问题。
我将如何做到这一点?在哪里可以找到所用函数 structure()、listClass() 等的文档?
提前致谢!
这里有一些信息:
最基本的默认设置如下所示,将创建一个包含所有现有页面的无序列表。如果您 set/toggled 一个页面 未 启用,则它不会显示。
{{ structure()|raw }}
更改列表元素class
{{ structure().list_class('navigation')|raw }}
将列表标签更改为无序列表以外的其他内容:
{{ structure().list_tag('dl')|raw }}
更改列表元素
{{ structure().link_tag('dt')|raw }}
仅显示 children 特定页面
{{ structure().root('/my-page')|raw }}
或 page-id {{ structure().root('9')|raw }}
为 children
的元素设置 class{{ structure().dropdown_class('has-children')|raw }}
为每个 li 项设置一个 class:
{{ structure().item_class('has-children')|raw }}
设置一个class到link
{{ structure().link_class('my-class')|raw }}
向 link
添加标题属性{{ structure().link_attributes({'title':'Title attribute'})|raw }}
不幸的是,这部分系统仍在开发中,但我可以向您展示宏以及如何与之交互:
https://github.com/anomalylabs/pages-module/blob/master/resources/views/macro.twig
您看到的链接是您设置选项的方式,因此 structure().fooBar(value)
在选项 集合 中将 foo_bar
选项设置为 value
.
对于 elementClass
,您可能正在寻找 linkClass
。也不要忘记使用 |raw
!
看起来这会给你想要的标记:
{{ structure()
.currentClass('pure-menu-selected')
.dropdownClass('pure-menu-has-children pure-menu-allow-hover')
.linkAttributesDropdown({'class': 'pure-menu-item pure-menu-has-children pure-menu-allow-hover'})
.listClass('pure-menu-list')
.itemClass('pure-menu-item')
.linkClass('pure-menu-link')
.childListClass('pure-menu-children')
.render()|raw }}