Создание модуля (создание страницы через модуль)

Модули находятся в папке modules/.

Для создания своего модуля, надо создать папку и файл, например modules/custom/custom.info.yml.

# modules/custom/custom.info.yml
name: 'Имя модуля'
description: 'Описание модуля'
core: 8.x
type: module

На странице Extend появится новый модуль.

Drupal 8

Модуль создан и его можно активировать.

Создание страницы через модуль

Страница создаётся через файл modules/custom/custom.routing.yml.

# modules/custom/custom.routing.yml
custom.routing:
  path: '/my-page'
  defaults:
    _title: 'Имя страницы'
    _controller: '\Drupal\custom\Controller\CustomController::myPage'
  requirements:
    _permission: 'access content'

Описание параметров:

  1. path — URL, по которому будет открываться страница;
  2. _controller — контроллер и метод, который будет выполняться на указанной странице;
  3. _permission — доступ к странице, в текущем примере доступна всем пользователям.

Теперь надо создать контроллер, который будет выполняться на указанной странице. Контроллер создаётся в файле modules/custom/src/Controller/CustomController.php.

# modules/custom/src/Controller/CustomController.php
namespace Drupal\custom\Controller;
 
class CustomController {
	
    public function myPage() {
        return array(
            '#type' => 'inline_template',
            '#template' => '<p>HTML-контент страницы</p>',
        );
    }
	
}

В результате будет открываться примерно следующая страница:

Drupal 8