afanasyevadina/maybe-cms

maybe description

v1.1 2023-05-21 11:38 UTC

This package is auto-updated.

Last update: 2024-12-21 15:08:46 UTC


README

Разрабатываемая система предназначена для создания сайтов (с ограниченным функционалом). Создаваемые сайты отображают информацию, заполненную в админ-панели, есть возможность редактировать данные в блочном редакторе, настраивать метатеги, управлять медиафайлами, использовать пользовательские типы данных, управлять темами.

Исходя из вышеописанного, система должна выполнять следующие функции:

  1. настройка параметров системы;
  2. авторизация пользователя;
  3. редактирование моделей-типов данных:
  • описание атрибутов сущностей;
  • описание связей с другими сущностями;
  • создание, редактирование, удаление моделей
  1. управление стилями и темами;
  2. управление медиафайлами различных типов: загрузка, удаление, подключение к страницам и блокам;
  3. работа со страницами:
  • добавление страницы;
  • удаление страницы;
  • изменение настроек страницы;
  • наполнение страницы контентом в блочном редакторе;
  • настройка стилей и тем для блоков;
  • отображение страниц на публичной (клиентской) части сайта;
  • сохранение (компиляция) страниц как статичный HTML;
  • настройка SEO-тегов.
  1. создание связей между страницами или разделами страниц с моделями-сущностями;
  2. создание API для выдачи контента страниц и блоков сайта;
  3. создание навигации по сайту;
  4. управление preset-ами (создание, редактирование, удаление, подключение к страницам и блокам).

Установка

Установите composer-пакет:

composer require afanasyevadina/maybe-cms

Подключите провайдер в app.php:

'providers' => [

        /*
         * Package Service Providers...
         */

        \Altenic\MaybeCms\MaybeCmsServiceProvider::class,

        ...

    ],
],

Выполните команду:

php artisan maybecms:install

Эта команда распакует нужные файлы и выполнит миграции. При выполнении будут запрошены логин и пароль администратора.

Конфигурация тем:

Отредактируйте файл config/maybe_theme.php или создайте новый аналогичный по структуре.

Настройте типы примитивов и их полей:

'card' => [
    'title' => 'Карточка',
    'structure' => [
        [
            'slug' => 'url',
            'title' => 'URL ссылки',
            'field_type' => 'link',
            'allow_source' => true,
        ],
        [
            'slug' => 'css',
            'title' => 'Свой стиль',
            'field_type' => 'text',
        ],
    ],
    'class' => 'far fa-square',
    'children' => ['heading', 'text', 'image'],
    'allow_source' => true,
]

В папке public/vendor/maybecms/themes создайте папку с именем вашей темы и отредактируйте style.css и script.js. Затем включите нужную тему в настройках админки.