Добрый день,
Вопрос на первый взгляд простой - есть вывод ноды, в ноде несколько логических полей. Как сделать так, чтобы выводились только поля со значением 1 (true) и другие просто скрывались? Понятно, что это можно сделать CSS, но где проставить нужные классы?
Поиском пользовался, ничего не нашел.
Комментарии
Можно в шаблоне ноды, и если не секрет, как вы собирались сделать это через CSS, просто интересно
По условию обернуть поле дивом и скрыть этот див в css. Не самый удачный вариант, поскольку яндекс, например, не любит скрытого контента.
Можно и так, однако это делается в том же месте где поле можно убрать из вывода полностью
Ну да, так я об этом и спрашивал.. Спасибо за наводку.
Я правильно понял, что ye;yj сделать так
if (!$content['field_name']):
hide($content['field_name']);
endif;
??
Не знаю почему, но конструкция
hide($content['field_name']);
у меня не работает вообще. Даже без условий. Имена полей посмотрел в Devel.
upd. Не знаю, правильно, или не очень, открыл новую тему
http://www.drupal.ru/node/84729
Простите за нубский вопрос, но есть такая функция hide?
C hide разобрался, был глюк fieldgroup. C Drupal только разбираюсь, поэтому такой вопрос -
А как должно работать стандартное логическое поле? Если в настройках отображения установить отображение ключа - отображается 0 или 1 (или то, что установишь для значений Да и Нет) а если установить отображение По умолчанию, то просто выводятся метки с двоеточием вне зависимости от значения поля. sq85 в соседней ветке предположил, что поле со значением поля 0 (false), по умолчанию должно скрываться. Может у меня еще какой глюк?
В общем, не знаю насколько это изящно, разместил в шаблоне нужного типа ноды проверку на значение нужных полей и сделал hide() нужных полей. Вместо ключей логических полей сделал вывод картинок (галочек) с помощью темизации шаблона этого типа полей.
Все работает...
Покажи свой код пожалуйста. Тоже делаю что-то подобное и незнаю как правильно скрыть второе поле. Можно конечно все через better_exposed_filters, но я использую еще views_dependent_filters, а имея дело с ним нельзя во вьюсе ставить в настройках раскрытых фильтров лимит, иначе будет выводиться ноль.
<?php if ($node->field_prop['und'][0]['value']==0):
hide ($content['field_prop_electricity']);
endif;?>
Ну вот так, например, проверка для поля field_prop. Если оно имеет значение 0, скрывается. Не большой специалист по php, поэтому лучше, если код посмотрят специалисты на предмет безопасности и корректности.
Спасибо, буду пробовать!