Для модулей, которые работают со страницами, эта страница является основной.
Приведем несколько примеров:
Модуль новости должен иметь страницу:
| Новости | Заголовок страницы |
| /news/ | Адрес страницы |
Модуль товары должен иметь страницу:
| Товары | Заголовок страницы |
| /catalog/ | Адрес страницы |
Дальнейшая демонстрация будет производится на примере модуля Activity
Для того, чтобы наш модуль мог создавать подобные страницы при установке, нам необходимо открыть файл в редакторе: /extensions/Modules/Activity/Panel/Module.php
В методе init() необходимо инициализировать метод createPage()
public function init()
{
$this->moduleName = Request::get('module');
$this->messages = Language::message('/extensions/Modules/#MODULE#/Panel/Language/messages.php');
$this->createPage();
$this->removeActivity();
return [
'data' => [
'title' => $this->messages['title'],
'static' => [
'css' => [
'style.css'
],
'js' => [
'script.js'
]
]
],
];
}
Подключить:
use Prologue\Uni\AppPagesAppEntitiesRelations\AppPagesAppEntitiesRelations;
И описать метод:
private function createPage()
{
if (!Router::isRoute('main')) {
return false;
}
AppPagesAppEntitiesRelations::saveRelation(
[
'name' => $this->messages['title'],
'parent_id' => 0,
'link' => '/activity/',
'show_in_menu' => 1,
'is_publish' => 1,
'sorting_index' => 5,
'entity' => 'app_activity_items',
'app_entity_item_id' => 0
]
);
}
На данном этапе нас интересуют параметры:
| name | Название страницы |
| link | Адрес страницы |
| show_in_menu | Отображать в меню 1/0 |
| is_publish | Опубликовать 1/0 |
| sorting_index | Порядковый номер страницы |
| entity | Связанная сущность |
При запуске модуля, будет создана страница связанная с сущностью модуля.