Как добавить переменную для шаблона Twig в моей функции preprocess?

Я использую следующий код для предварительной обработки переменных для моего шаблона:

function template_preprocess_imagegallery_format(&$vars) {
  template_preprocess_image_formatter($vars);
  $vars['image']['#theme'] = 'igimage';
  $vars['image']['#thumbnail'] = ImageStyle::load('thumbnail')->buildUrl($vars ['image']['#uri']);
  $vars['image']['#fullimage'] = file_create_url($vars ['image']['#uri']);
}

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

Если я сбрасываю доступные переменные в моем шаблоне Twig с помощью {{ dump(_context|keys) }}, я не вижу переменные, которые я добавил там. Если я попытаюсь использовать их в своем шаблоне, ничего не будет вставлено.

Я вижу, что значения добавляются в массив, когда я дамп переменной изображения в теме, которая отображает все поле, я вижу мои переменные в массиве. Но они все еще недоступны в шаблоне, который отображает самую переменную изображения.

Что еще мне нужно сделать, чтобы добавить переменную в мою функцию preprocess, которую я могу использовать в моем шаблоне Twig?

7 голосов | спросил Mad Scientist 15 PM000000100000001331 2015, 22:36:13

1 ответ


2
  • Название темы: atvdirect создайте файл atvdirect.theme в корне вашей темы, где atvdirect.info.yml-файл - это места.
  • добавить код ниже в файл atvdirect.theme
  • теперь вы можете использовать {{logopath}} в файле page.html.twig

    <?php
    function atvdirect_preprocess_page(&$variables)
    {
      $variables['logopath'] = '/'.drupal_get_path('theme','atvdirect') .'/logo.png';
    }
    ?>
    
ответил gurcharan 29 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 29 Sep 2016 03:59:03 +0300 2016, 03:59:03

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132