I need to render categories menu in sidebar, with active menu items and toggle animation.
Currently i have it with staticMenu (from Pages by Rainlab plugin):
for sidebar partial
<div id="sidebar">
{% if sideMenu.menuItems %}
{% for item in sideMenu.menuItems%}
<p class="category-title">{{ item.title }}</p>
{% partial "layout/sidebar-items" items=item.items class="category" %}
{% endfor %}
{% endif %}
</div>
for recursive items
<ul class="{{ class }}">
{% for item in items %}
<li class="{{ item.class }} {{ item.isActive or item.isChildActive ? 'active' : '' }} {{ item.isChildActive ? 'up' : '' }} {{ item.items ? 'category' : '' }}">
{% if item.items %}<span class="toggle"></span>{% endif %}
{% spaceless %}
<a href="{{ item.url }}">
{{ item.title }}
</a>
{% endspaceless %}
{% if item.items %}
{% partial 'layout/sidebar-items' items=item.items class="" %}
{% endif %}
</li>
{% endfor %}
</ul>
so i have good menu but with some manual edits on category added into Catalog
Is it posible to do that or analogue in "categories" component? Currently i stopped here
{% set category_list = categories.product_categories %}
{% if category_list %}
{% for category in category_list %}
{% set oldDepth = depth ?: 0 %}
{% set depth = category.nest_depth %}
{% set active = category.slug == categories.currentProductCategorySlug %}
{% set hasChilds = category.hasChildren %}
{% if depth == 0 %}
{% set items = category.getChildren %}
<p class="category-title {% if active %}active{% endif %}">
{% spaceless %}
<a href="{{ category.url }}" class="{% if category.slug == categories.currentProductCategorySlug %}active{% endif %}">
{{ category.name }}
</a>
{% endspaceless %}
</p>
{% elseif depth == 1 %}
{#% if oldDepth < depth %}
<ul>
{% endif %}
{% if oldDepth > depth %}
</ul>
{% endif %#}
{% endif %}
{% endfor %}
{% endif %}
Last updated