Данный файл опять же относится к системе темизации Drupal, и как вы понимаете из названия предназначен он для изменения вывода полей. Что бы воспользоваться данным файлом необходимо скопировать его из
modules/field/theme/field.tpl.php
<div class="<?php print $classes; ?>"<?php print $attributes; ?>> <?php if (!$label_hidden): ?> <div class="field-label"<?php print $title_attributes; ?>><?php print $label ?>: </div> <?php endif; ?> <div class="field-items"<?php print $content_attributes; ?>> <?php foreach ($items as $delta => $item): ?> <div class="field-item <?php print $delta % 2 ? 'odd' : 'even'; ?>"<?php print $item_attributes[$delta]; ?>><?php print render($item); ?></div> <?php endforeach; ?> </div> </div>
А теперь подробней о каждой доступной нам переменной:
- $items – содержит массив значений полей, для вывода используется render();
- $label – метка элемента.
- $label_hidden – использует флаг TRUE или FALSE, который можно использовать для указания вывода или скрытия метки.
- $classes – строка с классами CSS, которые отвечаю за стилевое оформления поля. Содержит:
- field – определяет текущий тип шалона.
- field-name-[имя_поля] – имя текущего поля.
- field-type-[тип_поля] – тип текущего поля.
- field-label-[позиция метки] – позиция метки.
- $element[‘#object’] – сущность к которой относится поле.
- $element[‘#view_mode’] – режим просмотра сущности, к которой относится поле. Full – полный или teaser – тизер.
- $element[‘#field_name’] – имя поля.
- $element[‘#field_type’] –тип поля.
- $element[‘#field_language’] – язык поля.
- $element[‘#field_translatable’] – поддерживает ли поле перевод.
- $element[‘#label_display’] – позиция вывода метки. Hidden – скрытая, inline – внутри строки, above – сверху.
- $field_name_css – имя поля, совместимое с CSS.
- $type_type_css – тип поля, совместимое с CSS.
- $classes_array – массив значения атрибутов классов в HTML.
Список шаблонов при темизации полей:
шаблон:
field--FIELD_TYPE.tpl.php
Будет использован Drupal для всех полей с указанным типом, например для поля text, данный шаблон будет выглядеть как:
field--text.tpl.php
шаблон:
field--FIELD_NAME.tpl.php
Данный шаблон будет использован для конкретного поля, например поле с именем "field-desc" примет следующий вид:
field--field-desc.tpl.php
шаблон:
field--TYPE.tpl.php
Данный шаблон будет применён ко всем полям, конкретного типа материала, например для типа материала "Articles", шаблон примет вид:
field--articles.tpl.php
шаблон:
field--FIELD_NAME--TYPE.tpl.php
Данный шаблон будет применён только к конкретному полю, конкретного типа материала, например для поля "field-desc", типа материала "Articles", шаблон примет вид:
field--field-desc--articles.tpl.php
Комментарии (9)
Как добавить в тегу img свой класс?
>Такой вариант будет работать?
$item) :
$item['field_image']['#attributes']['class'][0] = 'your_class';
?>
такой вариант не сработает, должно быть что-то вроде этого:
Подскажите, как добавить в тег ссылки поля image свой класс?
здесь может быть несколько вариантов, в зависимости от того, для какой сущности вы это делаете. Чуть подробнее если можно.
Сущность - стандартный тип Изображение с неограниченным количеством изображений Скриншот
Пытаюсь прикрутить компонент Thumbnails Bootstrap
Вам больше подойдет использовать стандартный файл темизации field.tpl.php. Создадите шаблон для данного поля и там перепишите $item в цикле, как вам нужно. Про шаблоны - здесь подробнее
Так вот я и хотел узнать, что надо переписать в $item, чтобы в тег ссылки добавился нужный мне класс?
Что то вроде этого