Искать  
 
   
 
if category ==
Отправлено: 14 Апрель 2009 03:23 P.M.   [ Игнорировать ]
Студент
RankRank
Всего сообщений:  74
Зарегистрирован  2008-09-02

Не работает и в документации не нашёл решения.
{if category == “2”}

{/if} 

Как задать условие, если категория такаето, то выводить то-то.

Спасибо.

Профиль
 
 
Отправлено: 14 Апрель 2009 04:32 P.M.   [ Игнорировать ]   [ # 1 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

а где конкретно будет использоваться, через что category определяется? В рамках weblog:entries, weblog:categories, weblog:category_heading, weblog:category_archive или вообще в сторонних плагинах?

 Подпись 

booooring…

Профиль
 
 
Отправлено: 14 Апрель 2009 04:45 P.M.   [ Игнорировать ]   [ # 2 ]
Студент
RankRank
Всего сообщений:  74
Зарегистрирован  2008-09-02

В weblog:entries

Профиль
 
 
Отправлено: 14 Апрель 2009 05:03 P.M.   [ Игнорировать ]   [ # 3 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

А так пробовали?

{exp:weblog:entries}
  {categories}
    {if category_id 
== "2"}

    {
/if}  
  {
/categories}
{
/exp:weblog:entries} 
 Подпись 

booooring…

Профиль
 
 
Отправлено: 14 Апрель 2009 05:08 P.M.   [ Игнорировать ]   [ # 4 ]
Студент
RankRank
Всего сообщений:  74
Зарегистрирован  2008-09-02

В очередной раз, большое спасибо smile
category_id как-то пропустил.

Профиль
 
 
Отправлено: 14 Апрель 2009 05:32 P.M.   [ Игнорировать ]   [ # 5 ]
Студент
RankRank
Всего сообщений:  74
Зарегистрирован  2008-09-02

Хотя нет, новая проблема...
Задача выводить A в категориях которые не являются 2 или 3
Выводить B в категориях которые да являются
пробую так

{categories}
 {if category_id 
== "not 2|3"}
a
{if
:else}
b
{
/if} 
{
/categories} 

выводит b b b.
Новость принадлежит к категориям 1, 5 и 6
если принадлежит только к одной категории, к примеру к 1 выводит b
в категори 2 и 3 выводит b

Профиль
 
 
Отправлено: 15 Апрель 2009 09:47 A.M.   [ Игнорировать ]   [ # 6 ]
Студент
RankRank
Всего сообщений:  73
Зарегистрирован  2008-05-21
Granin - 14 Апрель 2009 05:32 P.M.

Хотя нет, новая проблема... Задача выводить A в категориях которые не являются 2 или 3 Выводить B в категориях которые да являются пробую так 

{categories}  {if category_id == "not 2|3"} a {if:else} b {/if}  {/categories} 
  выводит b b b. Новость принадлежит к категориям 1, 5 и 6 если принадлежит только к одной категории, к примеру к 1 выводит b в категори 2 и 3 выводит b

  Говорят - нельзя быть чуть-чуть программистом...  Разработчики EE сказали - можно!  Именно этим и объясняется огромная популярность EE в развитых странах.  EE имеет прекрасную, редчайшую по своей “понятности” документацию. И, если туда заглянуть по текущему вопросу, то нельзя не заметить, что выражение {if category_id == “not 2|3”} неверно, потому, что “not” не может использоваться в условиях! А вот в представлениях - да:  {categories show=“not 3|6|8”}.  Стало быть в блоке “if” используем традиционное “!=”  {if category_id != “some value(s)”}

Профиль
 
 
Отправлено: 15 Апрель 2009 11:34 A.M.   [ Игнорировать ]   [ # 7 ]
Студент
RankRank
Всего сообщений:  74
Зарегистрирован  2008-09-02

Попробывал
{if category_id != “2|3”}
и
{if category_id != “not 2|3”}

выводит также как и прежде, если 2 или 3 выводит B если 1 5 и 6 выводит B B B

Профиль
 
 
Отправлено: 15 Апрель 2009 01:14 P.M.   [ Игнорировать ]   [ # 8 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  891
Зарегистрирован  2008-01-07

{if category_id == “2” OR category_id == “3”}

b

{if:else}

a

{/if}

Профиль
 
 
Отправлено: 15 Апрель 2009 01:37 P.M.   [ Игнорировать ]   [ # 9 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

тут проблема не в логических операторах == != <>, а в том, что | нельзя таким образом задавать условия в теге if. Надо как сказал budulay -

{if category_id != "2"  AND category_id != "3"}
a
{if
:else}
b
{
/if} 
 Подпись 

booooring…

Профиль