Пример кода как рендерить блок views с программной установкой contextual filters.
Контекстные фильтры устанавливаются методом ViewExecutable::setArguments(array $ARGS). В примере я передаю пару аргументов в качестве значений контекстных фильтров.
|
|
use Drupal\views\Views; $view = Views::getView('VIEW_MACHINE_NAME'); $arg_1 = ....; $arg_2 = ....; if (is_object($view)) { $view->setDisplay('block_1'); $view->setArguments([$arg_1, $arg_2]); $view->execute(); $rendered_view = $view->render(); print $rendered_view; } |
Drupal 8/9 модуль views
Данная запись опубликована в 30.08.2021 19:32 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Август 31, 2021 г.
Рассмотрим пару кейсов, того как рендерить блок из вашего кода.
Блок существует как Entity
Вы создали произвольный блок через Manage->Structure->Block ...
Читать
Январь 18, 2022 г.
То, что в семерке выполняется функцией drupal_html_class(), в Drupal 8 реализовано в виде статического метода\Drupal\Component\Utility\Html::getClass($str).
Данная функция также востребована в шаблонах (twig). Здесь вы можете использовать фильтр ...
Читать
Июль 6, 2023 г.
У нас есть контроллер, который выдаёт json ответ. Добавим кеширование.
Начнем с определения контроллера. Пусть сконфигурирован следующий mymodule.routing.yml:
[crayon-6aa2ff7f106b7902101504/]
Это значит, что у нас создан класс PublicApi в ...
Читать
Август 28, 2021 г.
Сниппет кода, демонстрирующий как alias создаётся в Drupal 9.
Ранее (в 8й версии) это был сервис ядра path.alias_storage, и код выглядел так:
[crayon-6aa2ff7f107c0268936740/]
В 9й версии хранилище перенесли в entityTypeManager и потому выглядит ...
Читать