Dodaj niestandardowej strony w Drupal hosting
Zadeklarować ścieżkę i jego opcji.
Etap ten obejmuje tytuł strony, wymogi dostępu do strony i inne.
W Drupal 7, trzeba było wdrożyć hook_menu ().
W Drupal 8, utworzyć plik
Wpisz kod, aby przywrócić ciało strony.
W Drupal 7, trzeba było napisać funkcję strona-zwrotnej określonej w hook_menu ().
W Drupal 8, zwrotna strona musi być albo metoda klasy lub zarejestrowanym serwis. To może być różna w zależności od różnych warunków (HTTP vs HTTPS nagłówki treści, inni), ale to jest poza zakresem niniejszego wprowadzenia.
Walkthrough
Idąc za przykładem z tej strony, powinieneś być w stanie stworzyć prostą stronę w module niestandardowego, bez konieczności dowiedzieć się więcej o wewnętrznych Drupal. Aby uzyskać więcej informacji, zobacz Zmień zapis o zmianie systemu routingu i różne implementacje w rdzeniu oraz projekt przykładów.
Trasowanie plik YAML modułu Przykładzie
Informacje o routingu są przechowywane w przykład / example.routing.yml:
example.my_page Jest to nazwa komputera z trasy. Zgodnie z przyjętą konwencją, nazwy komputerów trasa powinna być module_name.sub_name. Gdy inne części kodu trzeba zapoznać się z trasą, będą używać nazwy urządzenia. Ścieżka ta daje ścieżkę do strony na swojej stronie. Uwaga wiodącą ukośnik (/)! Domyślnie ten opisuje strony i tytuł zwrotnych. @todo: Gdzie można te domyślne zostać zastąpione? Wymagania ten określa warunki, na jakich zostanie wyświetlona strona. Można określić uprawnienia, moduły, które muszą być włączone, i inne warunki.
Realizacja strona dla modułu przykładu
Klasa Kontroler ExampleController powinny być określone w przykładzie / src / kontroler / ExampleController.php:
przestrzeni nazw Ten deklaruje prefiks potrzebne, aby w pełni określić nazwę klasy definiujemy. Porównaj blok DOC pliku i nazwę klasy. Klasa auto-ładowarka wie, że aby znaleźć klasę \ Drupal \ Przykład \ Controller \ ExampleController. powinno to wyglądać dla modułów plików / example / src / Controller / ExampleController.php. używać To pozwala nam używać ControllerBase zamiast pełnej nazwy. To sprawia, że nasza linia klasa znacznie łatwiejsze do odczytania. Mypage () Metoda określona w pliku YAML muszą być publiczne. powinien zwrócić renderable tablicy.