Content management system Grav-CMS中的子导航
我想为我的Grav主题制作一个subnav。我已经看到了一个关于这个话题的问题:Content management system Grav-CMS中的子导航,content-management-system,grav,Content Management System,Grav,我想为我的Grav主题制作一个subnav。我已经看到了一个关于这个话题的问题: {%block-navigation%} {%宏循环(页)%} {page.children%中p的%s} {%如果p.visible%} {%set active_page=(p.active或p.activeChild)?'active':'%} {%如果p.children.count>0%} {{{u self.loop(p)}} {%endif%} {%endif%} {%endfor%} {%endm
{%block-navigation%}
{%宏循环(页)%}
{page.children%中p的%s}
{%如果p.visible%}
{%set active_page=(p.active或p.activeChild)?'active':'%}
{%如果p.children.count>0%}
{{{u self.loop(p)}}
{%endif%}
{%endif%}
{%endfor%}
{%endmacro%}
{%endblock%}
{{{u self.loop(pages)}
我遇到的问题是,使用我的代码,页面在导航中会列出两次,这是因为下拉列表div
中有a
-标记
有没有一种方法可以让a
-标签与我在代码中编写的所有信息一起出现在下拉列表中?而且它在导航中只出现一次
谢谢你的回答 {%block-navigation%}
{% block navigation %}
{% macro loop(page) %}
{% for p in page.children %}
{% if p.visible %}
{% set active_page = (p.active or p.activeChild) ? 'active' : '' %}
<div>
{% if p.children.count > 0 %}
<div class="dropdown">
<a href="{{ p.url }}" class="btn btn-nav dropdown-toggle" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
{{ p.menu }}
<span class="icon icon--bottom"></span>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenulink" x-placement="bottom-start">
{{ _self.loop(p) }}
</div>
</div>
{% else %}
<a href="{{ p.url }}" class="btn btn-nav" role="button">
{{ p.menu }}
</a>
{% endif %}
</div>
{% endif %}
{% endfor %}
{% endmacro %}
{% endblock %}
<div class="topics" style="display: flex;">
{{ _self.loop(pages) }}
</div>
{%宏循环(页)%}
{page.children%中p的%s}
{%如果p.visible%}
{%set active_page=(p.active或p.activeChild)?'active':'%}
{%如果p.children.count>0%}
{{{u self.loop(p)}}
{%else%}
{%endif%}
{%endif%}
{%endfor%}
{%endmacro%}
{%endblock%}
{{{u self.loop(pages)}
这是我使用的代码,而不是我在问题中编写的代码我查看了反物质主题,找到了问题的解决方案。如果p.children.count>0&}必须放在零件前面。我最终为正常状态创建了一个“{%else%}”
{% block navigation %}
{% macro loop(page) %}
{% for p in page.children %}
{% if p.visible %}
{% set active_page = (p.active or p.activeChild) ? 'active' : '' %}
<div>
{% if p.children.count > 0 %}
<div class="dropdown">
<a href="{{ p.url }}" class="btn btn-nav dropdown-toggle" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
{{ p.menu }}
<span class="icon icon--bottom"></span>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenulink" x-placement="bottom-start">
{{ _self.loop(p) }}
</div>
</div>
{% else %}
<a href="{{ p.url }}" class="btn btn-nav" role="button">
{{ p.menu }}
</a>
{% endif %}
</div>
{% endif %}
{% endfor %}
{% endmacro %}
{% endblock %}
<div class="topics" style="display: flex;">
{{ _self.loop(pages) }}
</div>