Skip to content
This repository has been archived by the owner on Jan 14, 2021. It is now read-only.

Trigur/Bricks

Repository files navigation

Bricks

Установка

Только через composer. При этом не забудьте о том, что при обновлении композера отвалится пара плагинов (из-за несовместимости версий). Поэтому в composer.json проставляем версии для следующих плагинов:

  "tinymce/tinymce": "4.5.7",
  "tubalmartin/cssmin": "2.4.8-p10"

Затем делаем:

composer require trigur/bricks

Удаляем заново установленный tinymce, и возвращаем старый на место.

Идем в админку - в меню - "Модули" -> "Все модули". На владке "Установить модули" - устанавливаем модуль "Кирпичики".

Использование

  1. Создание схемы блока: - Указываете название (машинное имя латиницей). Название используется также и в качестве названия шаблона блока. - Указываете заголовок. Используется для понимания человеком. - Добавляете поля. По схеме выше. Плюс указываете тип поля. Сейчас доступно четыре - input, textarea, file, image.
  2. Группы блоков. Вы можете сделать несколько групп для того, чтобы вызывать разные наборы блоков в разных местах одной страницы.
  3. Создание блока: Выбираете схему - нажимаете плюс - заполняете указанные поля.
  4. Создаете шаблон блока в папке /templates/имя_вашего_шаблона/bricks/название_схемы_блока. В шаблоне будут доступны по названию поля, которые вы указали в схеме + поля name (название) и title (заголовок) самого блока. Плюс при вызове блока можно передавать свой набор данных.
  5. Далее идете в категорию, или страницу - обнаруживаете вкладку "Дополнения модулей". На ней вы можете выбрать блоки, которые будут там отображаться. Порядок блоков можно менять.
  6. После установки модуля появляется возможность вызывать блоки у себя в шаблоне:
    Функция 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
    • добавлено кэширование блоков;
    • добавлен вызов группы блоков безотносительно к контенту;
    • исправлены некоторые ошибки.