Путь к изображениям в Drupal 8

При разработке нового шаблона или темизации текущего, в drupal 8 можно столкнуться с тем, что принцип вывода изображений в шаблоне совершенно изменился. В восьмой версии cms, при  создании шаблона нужно следовать кодексу шаблонизатора twig. В начале необходимо зарегистрировать переменную и только потом её вывести в любом месте шаблона.  В переменную сразу будет внесён путь к изображению.

Для версии drupal 7 использовался такой метод

<img src='<?php print base_path().path_to_theme()."/logo.jpg"; ?> ' alt="" width="88" height="32" />

Для весии drupal 8  делаем  иначе. Добавим в файл MY_THEME.theme следующую функцию:

function MY_THEME_preprocess_node(&$variables) {
  $variables['facebook'] = '/' .drupal_get_path('theme','MY_THEME'). '/images/facebook.jpg';
  $variables['googleplus'] = '/' .drupal_get_path('theme','MY_THEME'). '/images/googleplus.jpg'; 
}

Были созданы 2 переменные facebook и googleplus. Осталось их вывести в шаблоне.

В шаблоне node.html.twig в нужном месте добавим следующие строчки:

 <img src='{{facebook}}'   alt="" />
 <img src='{{googleplus}}' alt="" />

где пути к изображениям заменяют вышеописанные переменные.

Сергей 03 мая, 2016

{{ directory }} выводит путь к текущей теме

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

Похожие материалы