Wie implementiere ich Routen?

7

Wie kann ich die grundlegendste Route in Drupal 8 implementieren? Welche Dateien muss ich schreiben und welche Klassen muss ich implementieren?

Letharion
quelle

Antworten:

11

Die Implementierung der grundlegendsten Route in Drupal 8 erfordert:

  • Die Datei mit den Routing-Definitionen (helloworld.routing.yml)

    helloworld.hi:
      pattern: '/helloworld'
      defaults:
        _controller: '\Drupal\helloworld\Controller\HelloWorldController::hi'
      requirements:
        _permission: 'access content'
  • Eine Controller-Klasse, die ein Render-Array oder eine Zeichenfolge zurückgibt (src / Controller / HelloWordCOntroller.php)

    namespace Drupal\helloworld\Controller;
    
    class HelloWorldController {
      function hi() {
        return 'Hello world!';
      }
    }

Dies ist das Äquivalent zu dem, was in Drupal 7 a war MENU_CALLBACK. Das Implementieren einer lokalen Aufgabe oder einer lokalen Aktion erfordert das Hinzufügen anderer Dateien, anders als in Drupal 7, wo eine lokale Registerkarte mit demselben Hook implementiert wird, der für a verwendet wird MENU_CALLBACK.

Letharion
quelle