Странная работа условного оператора

Тема в разделе "ExpressionEngine", создана пользователем indaukr, 13 июл 2010.

Статус темы:
Закрыта.
  1. indaukr

    indaukr Постоялец

    Регистр.:
    25 авг 2007
    Сообщения:
    59
    Симпатии:
    12
    Может быть тут найдутся специалисты? На ееклабе мне не помогли, к сожалению.
    Дан код
    Для segment_2_category_id использую соотвествующий плагин.
    Код:
    {!-- Вывод всех товаров определенной категории --}
                    {if segment_2!="" AND segment_2_category_id!=""}
                    {exp:weblog:entries weblog="tovary" orderby="date" status="open" limit="14" disable="member_data|trackbacks"  pagination="bottom" paginate_base="vse_tovary/{segment_2}/page" uncategorized_entries="n" category="{segment_2_category_id}"} 
                    {title}
                    {/exp:weblog:entries}
                    {/if} 
    Вопрос
    При включении откладки шаблонов видно вызов этого кода при урле http://localhost/vse_tovary Почему не срабатывает условие, ведь segment_2 пуст?
    Т.е. результат конечно же не показывается, но вызов кода идет, в отладке все видно.
    Тогда как он должен вызыватся только в случаее http://localhost/vse_tovary/category1 или http://localhost/vse_tovary/category1/page/p10
     
  2. mxnr

    mxnr Постоялец

    Регистр.:
    7 июн 2007
    Сообщения:
    134
    Симпатии:
    39
    Да элементарно - такие условия(что-то AND что-то) являются сложными, и по прасингу выполняются в самом конце. То есть после того как все другие теги отработают (в примере - веблог). Вот и весь секрет.:read:
     
  3. indaukr

    indaukr Постоялец

    Регистр.:
    25 авг 2007
    Сообщения:
    59
    Симпатии:
    12
    Получается, что надо обходится конструциями вида?

    Код:
    {if seg1}
       {if seg1_catid}
    {/if}
    {/if}
     
Статус темы:
Закрыта.