Поля могут не быть обязательными для заполнения, однако их заголовки в публикации все равно выводятся...
Я читал про способы темизации ноды, где можно задать условия для отдельного поля, однако я не могу создать шаблон для отдельно взятой ноды, поскольку их будет много.
Вопрос - нельзя ли, воспользовавшись полем: php-code при настраивании того или иного поля в конкретном типе материала, как-то решить проблему с выводимостью/невыводимостью заголовка данного поля при публикации, в зависимости от тогго, заполнено оно или нет?
Или это решается путем создания шаблона для конкретного поля, где, помимо оформительских штучек, можно прописать некое условие для решения данной проблемы. Если так, подскажите, как именно?
Наверняка эта проблема решалась многократно.
Комментарии
Вопрос: ты не можешь создать тему для созданного с помощью cck типа контента? можно по подробнее что мешает так сделать?
Думаю, для отдельно взятого поля можно в шаблоне (этого поля) поставить условае (в пхп-вставке), но вывод нового типа контента без использования шаблона будет не очень уж красивым.
Смотреть мой пост здесь: http://drupal.ru/node/3720
модуль contemplate
.
Ок. попробую настроить шаблон типа контента... Или решить с contemplate...
Но просто любопытно, если задавать условие прямо в пхп-вставке, вы не могли бы привести пример кода?
Ведь вот это здесь очевидно не покатит:
<?php if (content_format('field_МОЕ ПОЛЕ', $field_phone[0]) > '') : ?>
<?php foreach ($field_МОЕ ПОЛЕ as $МОЕ ПОЛЕ) { ?>
<?php } ?>
<?php endif; ?>
используй условие из этого примера
http://drupal.org/node/62485
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
но ведь я именно его и привел в пример!
почему-то не получается! причем не работает даже в шаблоне типа контента.
у меня есть простое текстовое поле под названием "field_"
вот я и пишу, как там:
<?php if (content_format('field_field_', $field_field_[0]) > '') : ?>
<?php foreach ($field_field_ as $field_) { ?>
<?php } ?>
<?php endif; ?>
результата никакого... (поле у меня заполнено), ни заголовка, ни поля...
самое интересное, что даже когда я просто пытаюсь это дело вывести безо всяких условий:
<?php print content_format('field_field_', $field_) ?>
или вот так:
print $field_['view'] ('view' - в квадратных скобках)
оно все равно не выводится!
возможно, дело в том, что скрипт "не понимает" названия поля, в силу того, что я называл поля по-русски?
У меня все работает. Вот, например:
<?php if (content_format('field_organization', $field_organization[0]) > '') : ?>
<h3 class="field-label">Организация</h3>
<?php foreach ((array)$field_organization as $item) { ?>
<div class="field-item"><?php print $item['view'] ?></div>
<?php } ?>
<?php endif; ?>
</div>
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
2poe: "field_field_" - имя попробуй изменить....
в смысле, в самой базе изменить? ("руками") по-другому вроде никак?
Попробуй хотя бы с другим именем, чтобы посмотреть, работает ли код. Называй сразу английскими буквами, чтобы не было проблем. Потом можно записать лейбл по-русски, это уже не поменяет название поля.
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.