Страница списка сущностей

  1. Страница списка сущностей
  2. Страница детальной сущности

Для модулей, которые работают со страницами, эта страница является основной.

Приведем несколько примеров:

Модуль новости должен иметь страницу:

Новости Заголовок страницы
/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 Связанная сущность

При запуске модуля, будет создана страница связанная с сущностью модуля.

  1. Страница списка сущностей
  2. Страница детальной сущности