Outils pour utilisateurs

Outils du site


drupal9:modules:controller

Contrôleur

Définir une route qui mène à la méthode content du contrôleur FirstController.

mymodule/mymodule.routing.yml
mymodule.content:
  path: '/mymodule'
  defaults:
    _controller: '\Drupal\mymodule\Controller\FirstController::content'
    _title: 'My First page and Menu Item'
  requirements:
    _permission: 'access content'

La méthode renvoie un Render Array, qui sera interprété pour produire une page simple avec un texte.

mymodule/src/Controller/FirstController.php
<?php
namespace Drupal\mymodule\Controller;
 
use Drupal\Core\Controller\ControllerBase;
 
class FirstController extends ControllerBase {
 
  public function content() {
    return [
      '#type' => 'markup',
      '#markup' => t('This is my menu linked custom page'),
    ];
  }
 
}

Ajouter au menu principal (dont l'id est main) un lien vers cette route.

mymodule/mymodule.links.menu.yml
mymodule.newpage:
  title: 'MyModule Stuff'
  description: 'Link to the page mymodule created'
  route_name: mymodule.content
  weight: 10
  menu_name: main
drupal9/modules/controller.txt · Dernière modification: 2021/02/17 05:40 par marclebrun