Только через composer. При этом не забудьте о том, что при обновлении композера отвалится пара плагинов (из-за несовместимости версий). Поэтому в composer.json проставляем версии для следующих плагинов:
"tinymce/tinymce": "4.5.7", "tubalmartin/cssmin": "2.4.8-p10"
Затем делаем:
composer require trigur/bricks
Удаляем заново установленный tinymce, и возвращаем старый на место.
Идем в админку - в меню - "Модули" -> "Все модули". На владке "Установить модули" - устанавливаем модуль "Кирпичики".
- Создание схемы блока: - Указываете название (машинное имя латиницей). Название используется также и в качестве названия шаблона блока. - Указываете заголовок. Используется для понимания человеком. - Добавляете поля. По схеме выше. Плюс указываете тип поля. Сейчас доступно четыре - input, textarea, file, image.
- Группы блоков. Вы можете сделать несколько групп для того, чтобы вызывать разные наборы блоков в разных местах одной страницы.
- Создание блока: Выбираете схему - нажимаете плюс - заполняете указанные поля.
- Создаете шаблон блока в папке /templates/имя_вашего_шаблона/bricks/название_схемы_блока. В шаблоне будут доступны по названию поля, которые вы указали в схеме + поля name (название) и title (заголовок) самого блока. Плюс при вызове блока можно передавать свой набор данных.
- Далее идете в категорию, или страницу - обнаруживаете вкладку "Дополнения модулей". На ней вы можете выбрать блоки, которые будут там отображаться. Порядок блоков можно менять.
- После установки модуля появляется возможность вызывать блоки у себя в шаблоне:
Функция contentBricks: - $content - передаете $page, или $category. Или ничего. Тогда данных будут браться из ядра, но это лишний запрос в бд. Если у вас один шаблон для страниц и категорий, то сначала идет проверка на наличие блоков страницы. Если есть - выдаются они. Если нет - выдаются блоки категории страницы. - $groupName - название группы. - $data - дополнительные данные, которые вы можете передать в блок. - $prefix, $suffix - две переменные для оборачивания блоков. Может понадобиться при верстке для отделения блоков друг от друга.
Функция categoryBricks: - $categoryId - id категории. - $groupName - см. выше. - $data - см. выше. - $prefix, $suffix - см. выше.
Функция pageBricks: - $pageId - id страницы. - $groupName - см. выше. - $data - см. выше. - $prefix, $suffix - см. выше.
Функция getBrick: - $brickName - название блока. - $data - см. выше.
Функция getBricksByGroup: - $groupName - название блока. - $data - см. выше. - $prefix, $suffix - см. выше.
-
v0.4
- добавлено кэширование блоков;
- добавлен вызов группы блоков безотносительно к контенту;
- исправлены некоторые ошибки.