前回に続いてLearn2テンプレートのカスタマイズです。
今回はメニュー回り。
ページタイプとしてchapter、blogの二つがありどちらもナビゲーションメニューに表示させてるのですが、理想としては、chapterの場合は配下のdocsページが階層表示され、blogの場合は配下を表示させないという風にしたいわけです。
blogの場合はメニューで選択すると日付順に概要表示でitemが並ぶのでメニューに階層表示は必要ないという判断です。
ということで、sidebar.html.twigを修正していきます。
File:sidebar.html.twig
~~~
<li class="dd-item{{ parent_page }}{{ current_page }}" data-nav-id="{{ p.route }}">
<a href="{{ p.url }}" {% if p.header.class %}class="{{ p.header.class }}"{% endif %}>
<i class="fa fa-check read-icon"></i>
<span><b>{% if data_level == 0 %}{{ loop.index }}. {% endif %}</b>{{ p.menu }}</span>
</a>
<!-- 以下の判断条件を -->
{% if p.children.count > 0 %}
<!-- 以下のようにしてblogであれば配下を表示しないように変更 -->
{% if p.children.count > 0 and p.template!='blog' %}
<!-- /ここまで -->
<ul>
{{ _self.loop(p, parent_loop|default(0)+loop.index) }}
</ul>
{% endif %}
</li>
~~~
あとは、blogページ関連のスタイルをcssに追加して微調整という感じです。
まあ、ほとんどは"twentyfifteen"のcssから該当classを移植しただけですが、大体は形になったかな(。・ω・)ノ゙
Last edited: 2024-07-31 01:15