Expression Engine - проблема с сухарями! - PullRequest
0 голосов
/ 08 июля 2011

ОК, я настроил пробную панировку, используя операторы IF сегмент и IF category_id.Причина в том, что у меня есть различные продукты, объединяющие 2-3 категории и т. Д.

Я прошел всю пробную версию и все работает отлично (хотя и много кода!)

Однако,Одна категория, с которой у меня возникла большая проблема, я часами пытался ее исправить, но не могу, в основном эта категория относится к двум категориям родителей и двух детей в одной группе категорий ... Все остальные имеюттолько один родитель и один ребенок, поэтому мой код работает нормально.

Я пробовал все, но он воспитывает

Игрушки >> Бен 10 >> Дети>> Бен 10

Он повторяет и категории, и родителей, потому что запись принадлежит обоим из них в одной группе ... Поэтому я попытался создать два отдельных оператора if вне моего основного оператора if, вот так:

Мой код:

{if segment_2 == "view"}
    {exp:channel:entries channel="toys"}
    {categories}
    {if parent_id == "25"}
    {if category_id == "31"}
    <li>
    <a href="(URL TO CATEGORY)">Toys</a>
    </li>
    <li>
    <a href="{path='toys/list'}">{category_name}</a>
    </li>
    {/if}
    {/if}
    {/categories}
    {/exp:channel:entries}
{/if}

{if segment_2 == "view"}
    {exp:channel:entries channel="toys"}
    {categories}
    {if parent_id == "26"}
    {if category_id == "40"}
    <li>
    <a href="(URL TO CATEGORY)">Children</a>
    </li>
    <li>
    <a href="{path='toys/list'}">{category_name}</a>
    </li>
    {/if}
    {/if}
    {/categories}
    {/exp:channel:entries}
{/if}

Я бы предположил, что при определении конкретного родителя и идентификатора кошки будет отображаться только один ...

Любые решения?

Ответы [ 2 ]

0 голосов
/ 08 июля 2011

В целях отладки часто бывает полезно понять и «визуализировать» структуру данных, с которыми вы имеете дело.

Чтобы получить представление о категориях вас 'пытаясь перебрать свой след с хлебными крошками, используйте следующий код для вывода каждой категории 'parent_id и category_id:

{exp:channel:entries channel="toys"}
    {categories}
        <strong>{category_name}</strong> [{parent_id}, {category_id}]<br />
    {/categories}
{/exp:channel:entries}

Это даст вам вывод, подобный:

Toys [0, 1]       // Parent Category
Children [1, 2]   // Child Category

Вооружившись этой информацией, вы можете переработать свои условные сухари крошки, чтобы иметь дело с продуктами, классифицированными в двух или более категориях :

{exp:channel:entries channel="toys"}
    {categories limit="2"}    
        {if parent_id == "0"}
            <!-- Show the Parent Category -->
            <li><a href="{path=toys/list}">{category_name}</a></li>
        {/if}

        {if parent_id != "0"}
            <!-- Show the Child Category -->
            <li><a href="{path=toys/list}">{category_name}</a></li>
        {/if}
    {/categories}
{/exp:channel:entries}
0 голосов
/ 08 июля 2011

Можете ли вы иметь оператор AND в своих условных выражениях?Что-то вроде {if parent_id == "26" && category_id == "40"}

Просто предположение.Это означает, что вы делаете одну проверку, и оба условия должны выполняться.

...