К сожалению Drupal 7 по умолчанию добавляет к элементам полей только классы 'odd' и 'even', но не добавляет классы 'first' и 'last' для первого и последнего элемента поля. Этот недостаток можно легко устранить путем переопределения field.tpl.php файла.
Для начала необходимо проверить наличие файла шаблона полей в вашей теме, у него будет имя - field.tpl.php. Если такого файла нет, то нужно скопировать файл шаблона /modules/field/theme/field.tpl.php. Путь для сохранения файла будет таким /sites/all/themes/YOUR_THEME_NAME/templates/field.tpl.php. После чего нужно очистить кэш сайта, что бы Drupal смог найти и определить ваш файл приоритетным для использования.
В шаблон необходимо добавить только 1 строку
<?php print $item['class']; ?>
В элементе массива с индексом 'class' будут содержаться наши дополнительные классы.
<?php if (!$label_hidden) : ?> <?php endif; ?> <?php foreach ($items as $delta => $item) : ?> <?php endforeach; ?> </div> </div>
Далее необходимо переопределить переменные для полей и добавить индекс 'class', значение которого мы выводим в шаблон. Это нужно сделать в template.php файле вашей темы. Если такого файле нет в вашей теме, то его необходимо создать и добавить следующую функцию, если существует - то добавить её в файл.
/** * Override or insert variables into the field template. */ function YOUR_THEME_NAME_preprocess_field(&$variables, $hook) { foreach ($variables['items'] as $delta => $item) { if ($delta == 0) { $variables['items'][$delta]['class'] = ' first '; } else if ($delta == $max_delta && $max_delta != 0) { $variables['items'][$delta]['class'] = ' last '; } else { $variables['items'][$delta]['class'] = ''; } } }
После выполнения этих действий вы получите класс 'first' для первого элемента формы и 'last' для последнего.
<div class="field field-name-field-test field-type-text field-label-above clearfix"> <div class="field-label">Test field</div> <div class="field-items"> <div class="field-item first even">1</div> <div class="field-item odd">2</div> <div class="field-item even">3</div> <div class="field-item last odd">4</div> </div> </div>