Поддержать Проект

Обратная связь

[MODX] Guru
  • Информация
  • Разработчикам
  • Дополнения
    • DocLister
    • DLMenu
    • DLCrumbs
    • DLBuildMenu
    • DLLastViews
    • DLSiblings
    • DLRequest
    • DLglossary
    • DLSitemap
    • DocInfo
    • FormLister
    • Wayfinder
    • phpthumb
    • LikeDislike
    • eForm
    • Ditto
    • multiTV
    • AjaxMegaSearch
    • AjaxSearch
    • WebLoginPE
    • Breadcrumbs
    • CodeMirror
    • AnythingRating
    • Easy Newsletter
    • FirstChildRedirect
    • OpenGraphTags
    • ddTypograph
    • TagSaver
    • BlackList
    • CfgTv
    • ModxAccount
    • Forgot Manager Login
    • GetField
    • if
    • Jot
    • ListChild
    • ListIndexer
    • ManagerManager
    • ddMMEditor
    • MaxiGallery
    • MemberCheck
    • ddGetMultipleField
    • MetaX
    • MODxBB и phpBB
    • Yams
    • Personalize
    • PHx
    • Reflect
    • tagLinks
    • TransAlias
    • TvTagCloud
    • UltimateParent
    • WebSignup
    • WebLogin
    • countViews
    • thumb
    • imageCaptor
    • optimizeJPG
    • Preview Next
    • Shopkeeper
    • SiteMap
    • Sass
    • Selector
    • SimpleGallery
    • SimpleTube
    • SimpleFiles
    • Star Rating
    • MinifyX
    • adminNav
    • SimplePolls
    • CResource
    • MODxAPI
    • customTables
    • HtmlInLine
    • HtmlMinModxEvo
    • SHKUserProfile
    • PickDocsInTree
    • evoSearch
    • editDocs
    • PageBuilder
      • Шаблоны
      • Типы полей
      • Параметры сниппета
      • Параметры плагина
      • События
      • Примеры конфигурации
      • Пример создания контейнеров
    • HybridAuth
    • Compare
    • alterTitle
  • Виджеты
  • Уроки
  • Разработчики
  • Готовые примеры
  • Блог
  • Конфиги
  • HTML коды
© [MODX] Guru
  • Дополнения

Page Builder - предустановленные блоки с пользовательским наполнением

  • Дополнения
  • PageBuilder
974

Page Builder - предустановленные блоки с пользовательским наполнением

Плагин позволяет разработчику определить набор блоков с определенной разметкой и списком полей, чтобы контент-менеджер использовал те блоки, которые считает нужным, со своим наполнением.

После установки нужно создать файлы конфигурации, либо переименовать файлы *.php.sample в *.php. В панели администрирования плагин добавляет новую вкладку на странице редактирования ресурса. Для вывода результатов используется сниппет [[PageBuilder]].

Конфигурация для блоков берется из папки config. Для создания нового блока нужно создать в этой папке файл <имя конфига>.php, который должен вернуть ассоциативный массив. Для создания контейнера нужно создать файл container.<имя контейнера>.php.

Структура массива следующая:

Ключ Значение
title Название блока, видимое менеджеру при заполнении
container Имя контейнера (если несколько - то массив имен), в котором будет выводится блок.
fields Ассоциативный массив используемых полей, в котором ключами являются идентификаторы полей, а значениями - массивы опций этих полей. Возможные типы полей и опции приведены ниже.
show_in_templates Массив идентификаторов шаблонов, для которых доступны редактирование и вывод блоков
hide_in_docs Массив идентификаторов документов, для которых редактирование и вывод недоступны
show_in_docs Массив идентификаторов документов, для которых доступны редактирование и вывод блоков. Если этот параметр указан, то `hide_in_docs` не принимается во внимание. Если не указан ни один из параметров, ограничивающих доступ, блоки будут доступны во всех документах.
order Порядок сортировки в секции добавления блока, либо порядок сортировки контейнеров (вкладок). Этот параметр НЕ влияет на сортировку самих блоков!
templates Ассоциативный массив, содержащий шаблон для ключа `owner`, а также шаблоны для каждой группы полей. Описание методов создания шаблонов смотрите здесь.
icon Класс иконки, который будет выводиться в секции для добавления нового блока, если в параметрах плагина значение `&addType` установлено в `icons` Например, если задать класс `fa fa-cogs`, то в интерфейс будет выведено следующее:
<i class="fa fa-cogs"></i>
image Изображение, которое будет выводиться в секции для добавления нового блока, если в параметрах плагина значение `&addType` установлено в `images`. Изображение будет обработано сниппетом `phpthumb` с параметром `w=80`
prepare Имя сниппета либо функция, которая будет вызвана перед выводом данных. Например:
'prepare' => function(&$options, &$values) {
  ...
},
Параметры для функции и сниппета одинаковые: `options` - конфигурация контейнера, `values` - значения полей.