Principes
La classe views permet d'afficher des vues. Il faut donc commencer par la charger
use Drupal\views\Views;
Ensuite on récupère la vue
$view = Views::getView('liste_livre');
Enfin on génère le render array
if (is_object($view)) {
$variable['view'] = $view->buildRenderable('id mode d affichage', [tableau d arguments à passer à la vue]);
}
Exemples
Dans l'exemple ci-dessous, on considère que vous avez déjà un contrôleur, un gabarit et une route. Nous allons charger une, vue dont l'identifiant est "liste_appartement", et qui a été ajouté lors de l'installation du module grâce à un fichier yml. Cette vue a été paramétrée pour afficher la liste d'appartements en fonction d'un identifiant d'immeuble (filtre contextuel). Plus haut dans le code, nous avons récupéré l'identifiant de l'immeuble. Maintenant, on souhaite afficher cette vue.
Dans le contrôleur :
$args = [$id_immeuble];
$view = Views::getView('liste_appartement');
if (is_object($view)) {
$variable['view'] = $view->buildRenderable('default', $args);
}
Dans twig :
{{$variable['view']}}
Version