{% if app.request.get('vendor_id') %}
{% set Categories = repository('Eccube\\Entity\\Category').findByVendorId(app.request.get('vendor_id')) %}
{% else %}
{# {% set Categories = repository('Eccube\\Entity\\Category').getList() %} #}
{% set Categories = repository('Eccube\\Entity\\Category').findByVendor(app.user) %}
{% endif %}
{% macro tree(Category) %}
{% from _self import tree %}
{% if app.request.pathInfo == '/products/list_vendor' %}
<div class="customize_category_label">
<a class="page_link2" href="{{ url('product_list_vendor') }}?category_id={{ Category.id }}&vendor_id={{ app.request.get('vendor_id') }}">{{ Category.name }}</a>
{% if Category.children|length > 0 %}
<i class="fa-solid fa-chevron-right toggle_icon py-2 px-5"></i>
{% endif %}
</div>
{% if Category.children|length > 0 %}
<ul class="customize_category_accordion">
{% for ChildCategory in Category.children %}
<li>
{{ tree(ChildCategory) }}
</li>
{% endfor %}
</ul>
{% endif %}
{% else %}
<div class="customize_category_label">
<a class="page_link2" href="{{ url('product_list') }}?category_id={{ Category.id }}">{{ Category.name }}</a>
{% if Category.children|length > 0 %}
<i class="fa-solid fa-chevron-right toggle_icon py-2 px-5"></i>
{% endif %}
</div>
{% if Category.children|length > 0 %}
<ul class="customize_category_accordion">
{% for ChildCategory in Category.children %}
<li>
{{ tree(ChildCategory) }}
</li>
{% endfor %}
</ul>
{% endif %}
{% endif %}
{% endmacro %}
<script>
$(document).ready(function () {
$('.customize_category_side_area').on('click', '.toggle_icon', function (e) {
const icon = $(this);
const submenu = icon.closest('.customize_category_label').next('.customize_category_accordion');
if (submenu.length) {
submenu.slideToggle();
// アイコン切り替え
icon.toggleClass('fa-chevron-right fa-chevron-down');
}
});
});
</script>
{% from _self import tree %}
<div class="customize_category_side_area">
<p class="customize_category_side_title">カテゴリーから探す</p>
<ul>
{% for Category in Categories %}
<li class="customize_category_block">
{{ tree(Category) }}
</li>
{% endfor %}
</ul>
<hr>
</div>