
PageBuilder
Визуальный конструктор секций для MODX 3: черновик и публикация без перезаписи content ресурса
- MODX 3
- PHP 8.2
- Vue 3


Responsive iframe по ссылке на ролик. Поддерживаются популярные хостинги. URL разбирает VideoEmbedResolver при сохранении. Секция входит в Free.

VideoEmbedResolver подставляет iframe под YouTube, Vimeo, RutubeВставьте полный URL видео из адресной строки браузера, не embed-код. Заголовок секции необязателен.
| Параметр | Значение |
|---|---|
| key | video |
| Слой | Pro |
| Категория | медиа (media) |
| Chunk | pagebuilderpro_video |
| Требования | pro |
Заполните поля в инспекторе секции на ресурсе. Описание типов полей: справочник типов.
title) Тип text. Необязательное.
video) Тип video. Обязательное. URL ролика. На сайте. embed через VideoEmbedResolver.
Iframe в блоке pb-video. Соотношение сторон сохраняется в CSS темы.
Пример JSON после сохранения секции. Для media, video и map значения на выводе могут быть обогащены:
{
"title": "Заголовок секции",
"video": {
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"embed_url": "https://www.youtube.com/embed/dQw4w9WgXcQ",
"provider": "youtube"
}
}Fenom chunk pagebuilderpro_video:
<section class="pb-section pb-section--video pb-video{if $cssClass} {$cssClass|escape}{/if}" data-pb-section="video"{if $id} id="pb-{$id|escape}"{/if}>
<div class="pb-section__inner pb-video__inner">
{if $title}
<h2 class="pb-heading pb-video__title">{$title|escape}</h2>
{/if}
{if $video_provider}
{set $providerLabel = $video_provider == 'youtube' ? 'YouTube' : ($video_provider == 'vimeo' ? 'Vimeo' : ($video_provider == 'rutube' ? 'Rutube' : $video_provider))}
<p class="pb-video__provider">{$providerLabel|escape}</p>
{/if}
{if $video_embed_url}
<div class="pb-video__embed">
<iframe src="{$video_embed_url|escape}" title="{$title|default:'Video'|escape}" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen loading="lazy"></iframe>
</div>
{elseif $video_watch_url}
<p><a class="pb-button" href="{$video_watch_url|escape}">{'pagebuilder_fe_video_watch' | lexicon}</a></p>
{/if}
</div>
</section>