Всем привет, при помощи ССК создал поле с одиночным чекбоксом (Тип поля - integer, Widget type - single on/off checkbox). В список допустимых значений вписываю:
0|старье
1|новинка
Далее, темизация Views - создал файл views-view-fields--taxonomy-term--page.tpl.php. В нём вывожу все необходимые мне поля. Проблема следующая, сделал поле (НОВИНКА), т.е. одиночный чекбокс,сделал условие в шаблоне views:
<?php if ($fields['field_new_value']->content): print '<div class="new"></div>'; endif; ?>
Проблема - див с классом new выводится даже если я не поставил галочку на чекбоксе. Что я делаю не так?
Комментарии
Условие выполняется, если $fields['field_new_value']->content существует. Видимо, у вас устанавливается для него дефолтное значение 0, даже если чекбокс не выбран. Попробуйте
<?php if ($fields['field_new_value']->content) == 1 ?>
Спасибо, а условие расписать вот так?
<?php if (($fields['field_new_value']->content) == 1): print '<div class="new"></div>'; endif; ?>
Нет, вот так:
<?php if ($fields['field_new_value']->content == 1): print '<div class="new"></div>'; endif; ?>
Я в своём первом комментарии случайно вынес "== 1" за скобки.
<?php if ($fields['field_new_value']->content == 1): print '<div class="new"></div>'; endif; ?>
Прописал так, теперь даже когда галочка стоит - не отображается мой див)
А дебажить вы не пробовали?
Извиняюсь, за глупый вопрос, но каким образом можно "продебажить" это?
Адрес сайта http://emma.zembla.kz
Я же написал чуть выше — попробуйте посмотреть, каково значение этой переменной на разных страницах.
Вставьте
<?php print $fields['field_new_value']->content; ?>
и посмотрите, что выводится — быть может у вас у этой переменной всегда есть значение (либо 0, либо 1), поэтому условие не срабатывает.