#drupal #collections #drupal-7 #field #drupal-theming
#drupal #Коллекции #drupal-7 #поле #drupal-тематизация
Вопрос:
Drupal 7 «коллекция полей» — если я хочу создать тему страницы узла, на которой есть «коллекция полей», как мне разделить поля для настройки? До сих пор кажется, что только print render($content[‘field_collection_name’]); выводит результат. Проблема в том, что я не могу понять, как изолировать поля для тематизации.
Я создал node—content_type.tpl.php для этой цели, но теперь застрял намертво в воде. Был бы очень признателен, если бы кто-нибудь спас мне день.
Решается следующим образом:
Некоторые ссылки ниже действительно очень полезны, поэтому посмотрите, я сделал что-то вроде этого — введите dsm(print_r($variables));
в node, который будет отображаться в моем случае node--content_type.tpl.php
с помощью field collection, чтобы узнать необходимые массивы и значения полей, а затем, конечно, скрыть.
Тогда часть оформления будет выглядеть примерно так
<div>class="class-for-label-here">My Desired Label - <span class="my-field-class-here"><?php print render($content['my_desired_field_here']['#items'][0]['value']); ?></span></div>
Ответ №1:
Здесь происходит довольно хороший разговор об этом же:
http://drupal.org/node/1155752
Основной ответ — тематизация с шаблоном field—your-field-collection-name.tpl.php
После этого вам просто нужно выяснить, как извлекать содержимое из массивов и / или объектов!
Ответ №2:
Вы можете создать пользовательский форматировщик полей для своего поля и использовать этот форматировщик при настройке вашего типа контента.
Field formatter предоставляет полный контроль над выводом html перед его отображением в шаблоне узла.
Вы можете использовать это замечательное руководство для создания пользовательского средства форматирования полей: http://www.computerminds.co.uk/articles/creating-new-field-formatters-drupal-7
Комментарии:
1. более элегантный, обязательно попробую
Ответ №3:
Для более обычного тематического оформления на основе шаблонов попробуйте патч в http://drupal.org/node/1187990 . Надеюсь, это войдет в коллекцию полей 2.x.