Приведенный выше ответ поможет, если вам нужна только ориентация на CSS. Но мне нужно было добавить класс в тег IMG, точка. Вот как я решил проблему. Это, вероятно, не лучший способ, и, конечно, не единственный, но это действительный «путь Drupal» и работает. Откройте файл template.php для вашего шаблона.
Вставьте следующую функцию, которую вам нужно будет изменить и настроить для вашего сценария использования. Например, вы должны заменить <TEMPLATENAME>
на имя вашего шаблона и добавить или вычесть классы по желанию, и другие вещи, как вы увидите.
function <TEMPLATENAME>_preprocess_image(&$variables) {
// If this image is of the type 'Staff Photo' then assign additional classes to it:
if ($variables['style_name'] == 'staff_photo') {
$variables['attributes']['class'][] = 'lightbox';
$variables['attributes']['class'][] = 'wideborder';
}
}
Я создал оператор "if", чтобы определить, когда класс должен быть добавлен к изображению, но вам придется настроить его так, как вам нравится - вы можете полностью его исключить, если вы хотите, чтобы класс был на ВСЕХ изображениях поля изображения или вы могли бы сказать «если
drupal_is_front_page () "если вы хотите, чтобы он применялся только на первой странице и т. д.
В МОЕМ случае я создал стиль изображения (Конфигурация> Мультимедиа> Стили изображения) для Фото сотрудников и добавил условие if, чтобы применять мои предпочтительные классы только к изображениям этого указанного стиля изображения. Я думаю, что это отличный способ сделать это, но вы можете делать то, что вам нравится.
Теперь, когда я просматриваю узел, который содержит поле изображения со стилем изображения "Staff Photo", классы волшебным образом появляются в теге IMG, и это как раз то, что мне нужно.