Как мне перечислить подкатегории текущей категории электронной коммерции в Odoo? - PullRequest
0 голосов
/ 15 июня 2019

В Odoo (шаблон qweb) я не могу найти, как перечислить подкатегории активной категории электронной коммерции.По умолчанию существует код списка рекурсивных категорий, но нигде я не вижу кода, который бы просто перечислял категории child.id текущей категории, в которой находится пользователь.Я пытаюсь создать список заголовков подкатегорий, чтобы люди могли углубиться в то, что они хотят.Я новичок в qweb fyi.

Это код списка рекурсивных категорий:

<?xml version="1.0"?>
<t name="Collapse Category Recursive" t-name="website_sale.option_collapse_categories_recursive">
    <li class="nav-item">
        <i t-if="categ.child_id" t-attf-class="text-primary fa #{'fa-chevron-down' if categ.id in parent_category_ids else 'fa-chevron-right'}" t-attf-title="#{'Unfold' if categ.id in parent_category_ids else 'Fold'}" t-attf-aria-label="#{'Unfold' if categ.id in parent_category_ids else 'Fold'}" role="img"/>
        <a t-att-href="keep('/shop/category/' + slug(categ), category=0)" t-attf-class="nav-link#{' active' if categ.id == int(category or 0) else ''}" t-field="categ.name"/>
        <ul t-if="categ.child_id" class="nav nav-pills flex-column nav-hierarchy" t-att-style="'display:block;' if categ.id in parent_category_ids else 'display:none;'">
            <t t-foreach="categ.child_id" t-as="categ">
                <t t-if="not search or categ.id in search_categories_ids">
                    <t t-call="website_sale.option_collapse_categories_recursive"/>
                </t>
            </t>
        </ul>
    </li>
</t>

Я пытаюсь сделать в основном обратное и показать только то, что является дочерним котомтекущий "category.id".

Например: если у "category.id" есть "category.child_id", тогда переходите через них в списке.

Любые указатели или ссылки на существующий код были бы действительно полезны.

Спасибо!

В качестве дополнительного примечания, не является ли перечисление подкадров чем-то вроде стандартной электронной коммерции?Я удивлен, что это не так, как обычно в odoo.

1 Ответ

0 голосов
/ 21 июня 2019

Разобрался.В Odoo Studio создайте связанное поле со многими, которое является категорией детей.

Тогда это:

<t t-if="category">
   <t t-foreach="category.x_studio_children" t-as="v">
          <t t-if="category.x_studio_children">
            <span t-field="v.name"/> 
          </t>
        </t>
</t>
...