Действия

Модуль будет иметь контроль над действиями веб-интерфейса, определёнными в объекте actions в файле manifest.json. Таким образом определяются новые действия. Таким же образом можно переопределить существующие действия. Каждый ключ действий должен представлять имя действия, а соответствующее значение должно содержать ключи class и, по необходимости, layout и view.

Одно действие определяется четырьмя составляющими: name, controller, view и layout. Проверка и подготовка данных обычно выполняются в controller, форматирование вывода выполняется во view или в partials, а layout отвечает за оформление страницы такими элементами, как: меню, верхний колонтитул, нижний колонтитул и другие.

Действия модуля должны быть определены в файле manifest.json как объект actions (таблица 175).

Существует несколько готовых макетов, таких как layout.json или layout.xml. Они предназначены для действий, которые дают результат, отличный от HTML. Можно изучить готовые макеты в директории app/views/ или создать свой собственный.

В некоторых случаях необходимо изменить только представление (view) некоторого действия, не изменяя контроллер. В таком случае просто помещают необходимые элементы отображения и/или составляющие в папку views модуля.

Module.php – необязательный файл PHP отвечает за инициализацию модуля, а также за обработку событий. Предполагается, что в этом файле будет определен класс "Module", расширяющий базовый класс "\Core\CModule". Класс "Module" должен быть определён в пространстве имен, указанном в файле manifest.json.

<?php
namespace Modules\Example;
use Core\CModule as BaseModule;
class Module extends BaseModule {
...
}