Вы здесь

Индивидуальные классы CSS для экземпляров field collection

1

Добавляю несколько экземпляров коллекции.
По дефолту, все экземпляры коллекции содержат идентичные классы, отличаясь только наличием .even/.odd.
То есть можно оформить все четные и все нечетные экземпляры.

Но каждый экземпляр требуется темизировать отдельно.
Как добавить каждому экземпляру коллекции отдельный класс?
Что-то типа

.field-collection-container    
    .field-collection-view .field-collection-view-1
       [содержимое]
    .field-collection-view .field-collection-view-2
       [содержимое]
Версия Drupal: 
7.x
Связанные проекты: 
Field collection
Вопрос задан 10.02.2016 - 19:25

Хороший вариант, который решает массу и других вопросов.
Но у обоих вариантов есть проблема: индекс меняется при перестановке элементов.

В идеале просто прописывать индивидуальные классы. Можно, конечно, добавить поле с названием класса, а потом переопределять вывод в шаблоне. Хотелось бы найти более простое решение.

Комментарий оставлен 11.02.2016 - 10:03

Ответы

0

Темизируйте вывод поля.

Ответ дан 11.02.2016 - 11:50
0

В вашем template.php, который должен находится в папке с темой:

/**
 * Implements theme_field().
 */
function НАЗВАНИЕТЕМЫ_field__НАЗВАНИЕ_ПОЛЯ__НАЗВАНИЕ_ТИПА_МАТЕРИАЛА($variables) {
  //смотрите, какие переменные передаются в вашем материале. чтобы использовать нужно ставить модуль devel
  dsm($variables); 

  $output = '<div class="СВОЙКЛАСС">';

//тут ваш код. поле нужно будет выводить вручную

  $output .= '</div>';

  return $output;
}
Ответ дан 11.02.2016 - 13:16
Аватар пользователя shu
shu
176