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

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

[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
  • PageBuilder

PageBuilder: Шаблоны

  • Дополнения
  • PageBuilder
  • Шаблоны
803

PageBuilder: Шаблоны

Основной шаблон блока должен быть определен для ключа owner. Помимо него, массив должен содержать шаблоны для каждой группы полей, и может содержать шаблоны для полей, у которых определено свойство elements (это поля типа dropdown, checkbox, radio). В таких шаблонах доступны выбранные значения свойства elements.

Например, если в массиве полей используется группа images, то в шаблонах должен быть определен элемент с ключом images, который будет содержать либо строку шаблона:

    'images' => '[+title+]'

либо ассоциативный массив шаблонов:

    'images' => [
        'item'  => '[+title+]',
        'thumb' => '
', ],

Во втором случае вывод этих элементов в родительском шаблоне можно использовать как [+images.item+] и [+images.thumb+].

Плейсхолдеры

В качестве плейсхолдеров могут использоваться имена полей (напр. [+title+]), имена групповых полей (напр. [+images+], [+images.thumb+]).

В шаблонах для полей выбора dropdown, checkbox, radio доступны плейсхолдеры [+value+] и [+title+].

Также в шаблоне 'owner' доступны плейсхолдеры [+index+] и [+iteration+], а в груповых полях и полях выбора - [+{имя_поля}_index+] и [+{имя_поля}_iteration+].

Источники шаблонов

Разметку можно указать в самом значении массива, как показано в примерах выше.

Возможно указание имени чанка, в котором находится нужный шаблон. Для этого нужно использовать привязку @CHUNK, например:

    'checkbox' => '@CHUNK all_fields_checkboxes',

Также возможна подгрузка шаблона из файла, например:

    'owner' => '@FILE pagebuilder/all_fields.tpl',

В этом примере файл шаблона будем загружен из MODX_BASE_PATH . "assets/templates/pagebuilder/all_fields.tpl". Вообще файл ищется в следующих директориях:

assets/tvs/
assets/chunks/
assets/templates/

Либо можно указать полный путь от корня сайта. Первый слеш не указывается.

Группы шаблонов

Шаблоны можно группировать, чтобы при выводе использовать разные группы шаблонов с параметром &templates. Например, если указать следующую конфигурацию для блока:

    'templates' => [
        'owner'  => '@CHUNK full_owner',
        'images' => '@CHUNK full_images'
        'anchors' => [
            'owner' => '@CHUNK link_owner',
        ],
    ],

то вызов сниппета с параметром &templates, равным anchors, будет использовать для вывода шаблоны, которые определены в группе anchors:

    [[PageBuilder? &templates=`anchors`]]