Пример создания справочника

Имя

Придумайте имя вашему справочнику, например example

* При использовании данной инструкции меняйте все упоминания example, GuideExample, Пример на свои

Структура файлов

+-- api
|   +-- app
|   |   +-- Guide
|   |   |   +-- Example
|   |   |   |   +-- ActionGet.php
|   |   |   |   +-- ActionIndex.php
|   |   |   |   +-- ActionInsert.php
|   |   |   |   +-- ActionRemove.php
|   |   |   |   +-- ActionSave.php
|   |   |   |   +-- OneRecord.php
+-- client-metronic
|   +-- src
|   |   +-- html
|   |   |   +-- pages
|   |   |   |   +-- guide
|   |   |   |   |   +-- example
|   |   |   |   |   |   +-- form.html
|   |   |   |   |   |   +-- list.html
|   |   |   |   |   |   +-- tpl-item.html
|   |   |   |   +-- guide_example.html
|   |   +-- js
|   |   |   +-- guide
|   |   |   |   +-- guideExample
|   |   |   |   |   +-- 0-start.js
|   |   |   |   |   +-- 100-init.js
|   |   |   |   |   +-- 200-_collectData.js
|   |   |   |   |   +-- 300-edit.js
|   |   |   |   |   +-- 300-insert.js
|   |   |   |   |   +-- 300-remove.js
|   |   |   |   |   +-- 300-save.js
|   |   |   |   |   +-- 300-showInsertForm.js

Готовый шаблон шаблон справочника

  1. Скачайте шаблон справочника Example
  2. Распакуйте в любом каталоге
  3. Поместите содержимое каталога guideExample/client-metronic в ваш каталог, где у вас client-metronic
  4. Поместите содержимое каталога guideExample/api в ваш каталог, где у вас api

Таблица в БД

-- Пример справочника
CREATE TABLE IF NOT EXISTS `guide_example` (
  `id`         INT(11)      NOT NULL AUTO_INCREMENT,
  `name`       VARCHAR(255) NULL,
  `created_at` DATETIME,
  `updated_at` DATETIME,
  `deleted_at` DATETIME,
  PRIMARY KEY (`id`)
)
  ENGINE = InnoDB
  DEFAULT CHARSET = utf8
  COLLATE = utf8_unicode_ci;

client-metronic

  1. Добавим в файл /src/js/0-app/200-routes.js новый маршрут
'/guide/example': function (params, query) {
  app.page = {
      name  : 'guide', // Всегда guide для всех справочников
      title : 'Пример | Справочник',
      onLoad: function () {
          lemurro.guide.init('example', 'guideExample');
      },
      params: params,
      query : query
  };
},
  1. Добавим в файл /src/html/pages/guide/menu.html новый пункт меню
<li class="m-nav__item js-guide-link js-guide-link__example" data-active-class="m-nav__item--active">
  <a class="m-nav__link" href="/guide/example" data-navigo>
      <span class="m-nav__link-text">
          Пример
      </span>
  </a>
</li>

api

  1. Добавим в файл /app/Configs/SettingsGuides.php новый маршрут в константе CLASSES
'example' => 'Example',

Сборка проекта

Перезапускаем gulp-задачу build-dev