Video Element
Внешнее видео загружается только по выбранному сценарию
Video Element принимает ссылку на ролик и сам формирует вывод для native video, YouTube, Vimeo, RuTube, VK Video, OK Video, Dzen, Cloudflare Stream и Yandex Cloud Video.
Режимы Eager, Lazy, On Click и On Click to Modal определяют момент загрузки. Для внешних сервисов consent-проверка удерживает URL iframe в инертном состоянии до разрешения YOOtheme Preferences.
Один URL вместо iframe-кода
Вставьте ссылку на поддерживаемую площадку. Helper нормализует источник и подбирает iframe или native video без ручной разметки.
Poster, заголовок и overlay остаются в Builder
Poster Frame, focal point, иконка, заголовок и переходы настраиваются рядом с источником. В eager/lazy заголовок выводится над или под видео; в click/modal — поверх poster.

Четыре режима для разных мест страницы
Выбор режима влияет на сетевые запросы, момент появления проигрывателя и набор доступных overlay-настроек.

Eager
Видео создаётся сразу. Подходит для основного ролика, когда источник должен быть готов без ожидания пересечения viewport.
Lazy
Загрузка начинается при входе элемента в viewport. Заголовок остаётся обычным элементом над или под видео.
On Click
До действия пользователя виден poster или штатная заглушка. После клика проигрыватель появляется в том же контейнере.
On Click to Modal
Poster работает как триггер UIkit Modal. Ширина, высота и ratio модального проигрывателя задаются отдельно.
Video Element в режимах On Click и Modal
Загрузка в контейнере

Запустить видео в контейнере
Запустить видео в контейнере
Необходимо разрешение на загрузку внешних скриптов
Управление CookiesВ модальном окне

Открыть видео в Modal
Открыть видео в Modal
Необходимо разрешение на загрузку внешних скриптов
Управление CookiesИсточник, представление и consent проходят один pipeline
1. Source
Native video обрабатывается тегом video; поддерживаемые внешние ссылки проходят через provider helper.
2. Geometry
Width, Height и Ratio задают размеры. Некорректный ratio получает fallback 16:9, а YouTube Shorts — 9:16.
3. Loading
Eager и Lazy выводят inline media. Click создаёт проигрыватель внутри контейнера, Modal — внутри диалога при открытии.
4. Consent
Для внешнего сервиса iframe хранит URL в data-msgvideo-src; разрешение активирует его, отзыв выгружает iframe и возвращает заглушку.
Все публичные настройки Video Element 1.0.14
Группы и порядок повторяют вкладки Content, Settings и Advanced. Условия показа и defaults сверены с текущим msgvideo definition.
Video | Источник native video или ссылка поддерживаемой платформы. Поле поддерживает dynamic source. |
Width / Height | Размер проигрывателя. Если оба значения пусты, render использует базовую ширину 720 px. |
Ratio | Формат |
Loading | Default |
Modal Width / Height | Показываются только для |
Poster Frame | Необязательное изображение до старта видео. Доступно во всех режимах при заполненном Video; поддерживает dynamic source. |
Poster Frame Focal Point | Девять позиций кадрирования от top-left до bottom-right. Доступно при заполненных Video и Poster Frame. |
Modal Ratio | Ratio модального проигрывателя; показывается для |
Icon | Иконка триггера для |
Video Title | Доступное название видео. В eager/lazy выводится над или под media; в click/modal входит в overlay. Поддерживает dynamic source. |
Title Position | Default |
Show controls | Default включён. Доступно для native video; внешние iframe управляют controls параметрами своего URL. |
Loop video | Зацикливает native video. Показывается только для источника, который не является iframe. |
Mute video | Отключает звук native video. Показывается только для источника, который не является iframe. |
Play inline on mobile devices | Добавляет inline playback для native video на mobile; недоступно для iframe. |
Autoplay | Доступны Off, On и Inview. Поле активно при заполненном Video; ограничения браузера для autoplay со звуком сохраняются. |
Box Shadow | Доступны None, |
Box Decoration | Доступны None, |
Inverse style | Доступно только для decoration |
Height — Fill the available column space | Растягивает native video по доступной высоте колонки. Недоступно для iframe. |
Force viewport height | Задаёт высоту viewport для native video; недоступно при включённом Height expand. |
Style | Default |
Text Color | Доступны None, |
Text Hover Color | Цвет заголовка при hover/focus для click/modal; доступен при заполненном Video Title. |
Transition | Default |
HTML Element | Default |
Icon Color | Default |
Icon Hover Color | Default |
Loading — Load image eagerly | Poster по умолчанию lazy. Переключатель включает eager для poster в первом viewport. |
Image Transition | None, |
Position | Normal flow, |
Left / Right / Top / Bottom | Offsets для relative/absolute. Противоположные стороны взаимоисключаются. |
Z Index | Stack level 0–3 или Auto при заданной Position. |
Blend | Смешивает элемент с содержимым страницы штатным режимом Builder. |
Margin Top / Bottom | Default |
Max Width | Small–2X-Large; ограничивает ширину элемента. |
Max Width Breakpoint | Breakpoint |
Block Alignment / Breakpoint / Fallback | Left, center или right с breakpoint и fallback; доступны при Max Width вне absolute position. |
Text Alignment / Breakpoint / Fallback | Left, center или right с отдельным breakpoint и fallback. |
Animation | Штатные Fade, Scale, Slide или Parallax; требует включённых анимаций Section. |
Parallax | Открывает штатную панель transform, opacity, blur, easing, target, breakpoint и start/end. |
Visibility | Показывает или скрывает элемент относительно breakpoint |
Section/Row — Remove left or right padding | Убирает padding со стороны расширяющейся Section/Row; недоступно при absolute position. |
Name | Подпись узла в структуре Builder; на frontend не выводится. |
Status | Штатное включение и отключение элемента. |
Source | Dynamic source для поддерживаемых полей Video, Poster Frame, Focal Point, Video Title и Advanced. |
ID | Пользовательский ID корневого элемента. Если поле пустое, runtime создаёт уникальный |
Classes | Дополнительные CSS-классы корневого элемента. |
Attributes | Дополнительные HTML-атрибуты, по одному на строку. |
CSS | Element-local CSS. Подсказки включают |
Transform | Штатные transform-настройки Builder для элемента. |
Consent удерживает внешний iframe до разрешения
RuTube, VK Video, OK Video, Dzen, Cloudflare Stream и Yandex Cloud Video используют общий сервис preferences.msg-external-video. YouTube и Vimeo остаются на штатных Preferences-сервисах YOOtheme.
Кнопка заглушки открывает Consent Manager. Она не выдаёт разрешение напрямую и не запускает click/modal-сценарий.

Keyboard и focus
Click/modal container получает tabindex="0". Заголовок задаёт доступное имя iframe; focus-visible и открытие Modal нужно проверить на целевом frontend.
Отзыв разрешения
После revoke уже загруженный iframe выгружается, URL снова становится инертным, а consent-заглушка возвращается без дублирования DOM.
Responsive и Shorts
Width, Height и Ratio управляют геометрией. Для YouTube Shorts fallback меняется на 9:16; poster focal point сохраняет важную область при кадрировании.
Motion и autoplay
Overlay transitions и Builder Animation требуют проверки с prefers-reduced-motion. Autoplay подчиняется ограничениям браузера; для предсказуемого старта native video используйте muted.
Загрузки
PHP 8.3.0, Joomla 6 и YOOtheme Pro 5.0.43. Рекомендуемое окружение — PHP 8.4.
Системные требования
Минимальные
PHP | 7.4+ |
Joomla! | 5 |
YOOtheme Pro | 5 |
Рекомендуемые
PHP | 8.3+ |
Joomla! | 6 |
YOOtheme Pro | 5 |
Расширение подключено к серверу обновлений MSGru. Joomla сообщит о новой версии, если на сайте включена проверка обновлений.
Поддержать разработку
Список изменений
1.0.14
1.0.10
1.0.8
Лицензия
-
Скачивание без ограничений
-
Использование на любом количестве сайтов
-
Помощь в установке и настройке
-
Техническая поддержка
-
Исправление проблем совместимости со сторонними расширениями и библиотеками
-
Доработка функционала под конкретные требования заказчика

