Как вы обновляете теги class и id в Drupal 8? - PullRequest
0 голосов
/ 22 октября 2018

Есть ли способ изменить или добавить теги class / id для элементов в Drupal?Например, я хочу изменить определенный набор изображений, но единственным классом, перечисленным на всех изображениях, является «img-отзывчивый».

Я очень новичок в Drupal и пытаюсь научить себя всему в очень ограниченном количестве.количество времени.Поэтому, если вы ответите, пожалуйста, дайте четкие указания / скриншоты, которые сможет понять новичок!Я действительно ценю любые указания или указания относительно моих возможных следующих шагов.

1 Ответ

0 голосов
/ 22 октября 2018

Это абсолютно слишком широкий вопрос.Вы должны потратить время на то, чтобы научиться тому, как работает система тем в Drupal, а также о ее хуках предварительной обработки.

Начните с Работа с шаблонами веток , которые, помимо прочего, научат вас создавать собственный шаблони измените разметку или атрибуты (класс, идентификатор и т. д.) в соответствии с вашими потребностями.

Следующая проверка Предварительная обработка и изменение атрибутов в файле .theme .Предполагается, что вы создали собственную тему или подтему.Есть несколько хуков, которые вы можете использовать для программного изменения классов определенных элементов.


img-responsive говорит мне, что вы используете какую-то тему, которая использует некоторые CSS-фреймворки.Надеюсь, вы уже создали свою собственную подтему.Затем вы можете добавить что-то вроде следующего в файл .theme модулей.

Чтобы добавить класс непосредственно в тег <img>, вы можете идентифицировать его по стилю изображения:

/**
 * Implements template_preprocess_image().
 */
function MYTHEME_preprocess_image(&$variables) {

  // Check the image style.
  if ($variables['style_name'] == 'img_fluid') {

    // Add class.
    $variables['attributes']['class'][] = 'img-fluid';
  }
}

Если вы хотите добавить класс в поле изображения (контейнер переноса), вы можете указать поле по его имени:

/**
 * Implements template_preprocess_field().
 */
function MYTHEME_preprocess_field(&$variables) {

  // Check for your image field.
  if ($variables['element']['#field_name'] == 'field_MYIMAGE') {

    // Add class.
    $variables['attributes']['class'][] = 'img-fluid';
  }
}

Источник: Как добавить класс втег изображения в field.html.twig?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...