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

Responsive iframe по ссылке на ролик. Поддерживаются популярные хостинги. URL разбирает VideoEmbedResolver.
Информация
Требуется PageBuilder Pro.
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}
{var $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}">Смотреть видео</a></p>
{/if}
</div>
</section>PageBuilderPro/core/components/pagebuilderpro/sections/video.json