Рейтинг:1

Вызов шаблона ветки в зависимости от количества элементов поля

флаг cn

Мне нужно вызывать разные шаблоны веток поля изображения в зависимости от количества элементов этого поля. Если есть только 1 элемент изображения, я бы хотел использовать template1.html.twig. Если есть> 1 элемент изображения, я бы хотел использовать template2.html.twig.

Это возможно? Если да, то как?

флаг cn
Можете ли вы использовать длину для выполнения условной логики в шаблоне? https://twig.symfony.com/doc/2.x/filters/length.html Другими словами, один шаблон, но вы используете длину для подсчета количества элементов, а затем обрабатываете ее по-разному в зависимости от этого.
флаг cn
Я знаю использование длины - это было бы моим решением, когда я знаю, как вызывать разные шаблоны. Я не знаю кода для вызова 2 разных шаблонов, когда есть только 1 (из модуля) и абсолютно знаю предложения имени файла (изменения).
Рейтинг:3
флаг ne

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

/**
 * Реализует hook_theme_suggestions_HOOK_alter().
 */
function MYTHEME_theme_suggestions_field_alter (массив &$предложений, массив $переменных) {
  if ($variables['element']['#field_name'] === 'field_MYFIELD') {
    // Отступать.
    $значения = '';

    /** @var \Drupal\Core\Field\FieldItemList $items */
    $items = $variables['element']['#items'];
    если ($items->count() == 1) {
      $values ​​= '__single_image';
    }
    если ($items->count() > 1) {
      $values ​​= '__слайд-шоу';
    }

    $suggestions[] = 'поле__' . $variables['элемент']['#field_name'] . $значения;
  }
}

Это позволит вам иметь field--field-MYFIELD--single-image.html.twig или же поле--поле-МОЕ ПОЛЕ--slideshow.html.twig.

Сбросить кеш!

Ответить или комментировать

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