Темизация Views Grid Style

Главные вкладки

Аватар пользователя Heihachi88 Heihachi88 4 декабря 2010 в 23:55

Всем привет, при помощи ССК создал поле с одиночным чекбоксом (Тип поля - 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 выводится даже если я не поставил галочку на чекбоксе. Что я делаю не так?

Комментарии

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 5 декабря 2010 в 1:24

Условие выполняется, если $fields['field_new_value']->content существует. Видимо, у вас устанавливается для него дефолтное значение 0, даже если чекбокс не выбран. Попробуйте <?php if ($fields['field_new_value']->content) == 1 ?>

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 6 декабря 2010 в 1:36

"Heihachi88" wrote:
Спасибо, а условие расписать вот так?

Нет, вот так: <?php if ($fields['field_new_value']->content == 1): print '<div class="new"></div>'; endif; ?>
Я в своём первом комментарии случайно вынес "== 1" за скобки.

Аватар пользователя Heihachi88 Heihachi88 6 декабря 2010 в 15:19

<?php if ($fields['field_new_value']->content == 1): print '<div class="new"></div>'; endif; ?>

Прописал так, теперь даже когда галочка стоит - не отображается мой див)

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 7 декабря 2010 в 1:43

"Heihachi88" wrote:
Прописал так, теперь даже когда галочка стоит - не отображается мой див)

А дебажить вы не пробовали? Wink Попробуйте без условий выводить значение $fields['field_new_value']->content. Быть может, в базу значение записывается в ином формате. Посмотрите что выводится на тех страницах, на которых галочка поставлена, а что — на тех, где её нет.

Аватар пользователя Heihachi88 Heihachi88 7 декабря 2010 в 7:12

"<a href="mailto:ingumsky@drupal.org">ingumsky@drupal.org</a>" wrote:
А дебажить вы не пробовали? Wink Попробуйте без условий выводить значение $fields['field_new_value']->content. Быть может, в базу значение записывается в ином формате. Посмотрите что выводится на тех страницах, на которых галочка поставлена, а что — на тех, где её нет.

Извиняюсь, за глупый вопрос, но каким образом можно "продебажить" это? Smile

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 11 декабря 2010 в 14:47

"Heihachi88" wrote:
Извиняюсь, за глупый вопрос, но каким образом можно "продебажить" это? Smile

Я же написал чуть выше — попробуйте посмотреть, каково значение этой переменной на разных страницах.
Вставьте <?php print $fields['field_new_value']->content?> и посмотрите, что выводится — быть может у вас у этой переменной всегда есть значение (либо 0, либо 1), поэтому условие не срабатывает.