Я пытаюсь отобразить шаблон в Drupal 8. В Drupal 7 я создавал тему с hook_theme, создавал каталог шаблонов в моем модуле, вставлял файл шаблона и мог отображать его с помощью theme (). Как мне сделать equivilent с Drupal 8? Я попробовал следующее, но это ошибки:
В твиттере твиттер
/ ** * Реализует hook_theme (). * / функция twitter_pull_theme ($ существующие, $ type, $ theme, $ path) { возвращаемый массив ( 'twitter_pull_tweet_listing' => массив ( 'variable' => array ( 'description' => array (), ), 'template' => 'templates / twitter_pull_tweet_listing', ), ); }
Внутри twitter_pull / templates: twitter_pull_tweet_listing.html.twig
Внутри моего блока:
$ tweet_template = array ('# theme' => 'twitter_pull_tweet_listing', '#attributes' => array ('params' => $ params)); $ output = drupal_render ($ tweet_template, array ('params' => $ params)); вывод $ output;
Я получаю следующую ошибку в моих журналах:
Ошибка пользователя: «content» - недопустимый ключ массива рендеринга в Drupal \ Core \ Render \ Element :: children () (строка 89 из C: \ xampp \ htdocs \ drupal \ core \ lib \ Drupal \ Core \ Render \ Element. PHP).
РЕДАКТИРОВАТЬ: еще одна ошибка:
Twig_Error_Loader: невозможно найти шаблон "modules / custom / twitter_pull / templates / templates / twitter_pull_tweet_listing.html.twig" (заглянул в: C: \ xampp \ htdocs \ drupal). в Twig_Loader_Filesystem-> findTemplate () (строка 202 из C: \ xampp \ htdocs \ drupal \ core \ vendor \ twig \ twig \ lib \ Twig \ Loader \ Filesystem.php).
Я предполагаю, что эта ошибка происходит, потому что я не использую пространства имен и автозагрузку правильно. Где я могу разместить свой файл шаблона? Основываясь на сообщении об ошибке, я даже пытался поместить его в C: \ xampp \ htdocs \ drupal \ templates \, но он все равно не работал.
drupal_render()
? Он ожидает логическое значение
templates/templates/
Часть в сообщении 2 ошибки заставляет меня думать , что вы должны попробовать 'template' => 'twitter_pull_tweet_listing',
вместо 'template' => 'templates/twitter_pull_tweet_listing',
вhook_theme()