Пример создания раздела
Имя
Придумайте имя вашему разделу, например example
* При использовании данной инструкции меняйте все упоминания example
, GuideExample
, Пример
на свои
Структура файлов
+-- api
| +-- app
| | +-- Example
| | | +-- ActionGet.php
| | | +-- ActionIndex.php
| | | +-- ActionInsert.php
| | | +-- ActionRemove.php
| | | +-- ActionSave.php
| | | +-- ControllerGet.php
| | | +-- ControllerIndex.php
| | | +-- ControllerInsert.php
| | | +-- ControllerRemove.php
| | | +-- ControllerSave.php
| | | +-- OneRecord.php
| | +-- Routes
| | | +-- example.yaml
+-- client-metronic
| +-- src
| | +-- html
| | | +-- pages
| | | | +-- example
| | | | | +-- form.html
| | | | | +-- list.html
| | | | | +-- tpl-file.html
| | | | | +-- tpl-item.html
| | | | +-- example.html
| | +-- js
| | | +-- example
| | | | +-- 0-start.js
| | | | +-- 100-init.js
| | | | +-- 200-_collectData.js
| | | | +-- 200-_getData.js
| | | | +-- 200-_getNewRecord.js
| | | | +-- 200-_initFile.js
| | | | +-- 300-edit.js
| | | | +-- 300-insert.js
| | | | +-- 300-remove.js
| | | | +-- 300-save.js
| | | | +-- 300-showInsertForm.js
Готовый шаблон шаблон раздела
- Скачайте шаблон раздела Example
- Распакуйте в любом каталоге
- Поместите содержимое каталога
pageExample/client-metronic
в ваш каталог, где у васclient-metronic
- Поместите содержимое каталога
pageExample/api
в ваш каталог, где у васapi
Таблица в БД
-- Пример раздела
CREATE TABLE IF NOT EXISTS `example` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NULL,
`files` TEXT,
`created_at` DATETIME,
`updated_at` DATETIME,
`deleted_at` DATETIME,
PRIMARY KEY (`id`)
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8
COLLATE = utf8_unicode_ci;
client-metronic
- Добавим в файл
/src/js/0-app/200-routes.js
новый маршрут
'/example': function (params, query) {
app.page = {
name : 'example',
title : 'Пример',
onLoad: function () {
example.init();
},
params: params,
query : query
};
},
- Добавим в файл
/src/html/include/menu_horizontal.html
новый пункт меню
<li class="m-menu__item js-link js-link__example d-none js-role js-role__example--read" data-active-class="m-menu__item--active" aria-haspopup="true">
<a href="/example" data-navigo class="m-menu__link ">
<span class="m-menu__item-here"></span>
<span class="m-menu__link-text">
Example
</span>
</a>
</li>
- Добавим в файл
/src/js/0-app/100-config.js
права доступа для раздела
// Роли пользователей
userRoles: {
// Список ролей с правами доступа
list: [
{
name : 'example',
title : 'Example',
access: [
'read',
'create-update',
'delete'
]
}
],
},
api
- Добавим в файл
api/app/routes.yaml
новый маршрут
app_route_example:
resource: 'app/Routes/example.yaml'
Сборка проекта
Перезапускаем gulp-задачу build-dev