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

USDT TRC20

TBGKTYDs4yzU17vQbobbUB8epFFtFb6PKh

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

[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
  • Пример создания контейнеров
Поддержать: USDT TRC20: TBGKTYDs4yzU17vQbobbUB8epFFtFb6PKh
1619

PageBuilder: Пример создания контейнеров

Допустим, стоит задача вывести на странице слайдер в шапке со слайдами с разным наполнением, а также набор блоков наполнения тела страницы.

В слайдере у нас будет возможность выбрать блоки image, image-text, а в теле страницы - text, image-text, 2col_text_photo.

Для начала определимся с контейнерами: для слайдера создадим контейнер slider, он будет расположен в отдельной вкладке с именем "Слайдер", с миниатюрами изображений для добавления блоков:

<?php
// assets/plugins/pagebuilder/config/container.slider.php
return [
    'title' => 'Слайдер',
    'addType' => 'images',
    'placement' => 'tab',
    'templates' => [
        'owner' => '
            
[+wrap+]
' ] ];

Для тела страницы будем использовать расположение вместо tv-параметра. Для этого создадим новый tv-параметр page_body с типом ввода - pagebuilder. Затем создадим файл конфигурации этого контейнера:

<?php
// assets/plugins/pagebuilder/config/container.page_body.php
return [
    'title' => 'Тело страницы',
    'addType' => 'images',
    'placement' => 'tv',
    'templates' => [
        'owner' => '
            
[+wrap+]
' ] ];

Важно, чтобы имя tv-параметра совпадало с именем контейнера, и опция placement была равна tv.

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

Сначала переименуйте файлы конфигурации блоков, удалив концовку .sample.

Затем добавьте в каждый файл строку привязки к контейнеру. Для блока image:

'container' => 'slider',

Для блоков text и 2col_text_photo:

'container' => 'page_body',

Для блока image-text, так как он будет привязан к двум контейнерам, строка будет иметь следующий вид:

'container' => ['slider', 'page_body'],

На этом настройки административной части закончились, данных действий достаточно, чтобы во всех документах появилась форма заполнения двух контейнеров, в тв-параметрах и в отдельной вкладке.

Для вывода контейнеров нужно добавить следующий код в шаблоны:

[[PageBuilder? &container=`slider`]]
[[PageBuilder? &container=`page_body`]]