Добавление CSS классов к полю с множественным значением

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

Аватар пользователя ElenaSerg ElenaSerg 21 апреля 2017 в 7:13

Доброго дня всем. Столкнулась с проблемой - добавление css класса к div.item-field (поле с терминами).

Вот рабочий код, который добавляет класс к самой ссылке:

<?php
function theme_preprocess_field(&$variables$hook) {
  
$element $variables['element'];
  if (isset(
$element['#field_name'])) {
    if (
$element['#field_name'] == 'field_name') {
      foreach (
$variables['items'] as $index => $item) {
        
$variables['items'][$index]['#options']['attributes']['class'][] = 'new-css-class';
      }
    }
  }

?>

Как добавить класс к диву item-field - пока непонятно. Все пробы привели к белой странице. Кто делал подобное?

Комментарии

Аватар пользователя ElenaSerg ElenaSerg 21 апреля 2017 в 7:16

Вот что на выводе, при использовании этого сниппета:

<div class="field-items">
     <div class="field-item even">
          <a href="/tags/tags1" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="" class="new-css-class">тег 1</a>
     </div>
     <div class="field-item odd">
          <a href="/tags/tags2" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="" class="new-css-class">тег 2</a>
     </div>
</div>
Аватар пользователя ElenaSerg ElenaSerg 21 апреля 2017 в 9:43

Не совсем понимаю как это реализовать к обертке, а не к значению.

Пробовала создавать шаблон для поля с fireach - не работает.
В шаблоне - тоже не работает.

Аватар пользователя McSeem McSeem 21 апреля 2017 в 10:26

Можно полностью вручную выводить это составное поле с опциями вывода с указанием class и id, т.е. генерить свою обертку с нуля, но это трудоемко. Можно выводить через Views, где в настройках поля указываются кастомные имена class и id. Я бы первым делом попытался реализовать через Views.