К сожалению, только модификатором, сделать не получится, необходимо внести несколько правок в файл скрипта jquery.fancybox.js. Файл и его минифицированную версию сделал вложением.
Добавление ролика осуществляется с помощью стандартной вкладки шаблона Дополнительные вкладки товаров → Видео-вкладка. После модификации можно добавлять один или несколько роликов как с Youtube так и с Rutube, НО в случае нескольких роликов для одного товара ВСЕ ролики должны быть с одной платформы.
Код: Выделить всё
<!-- Rutube -->
<file path="catalog/view/theme/prostore/template/product/product.twig">
<operation>
<search><![CDATA[{% if count_videos == 1 and video.0.description %}]]></search>
<add position="replace"><![CDATA[{% if count_videos == 1 and video.0.description and video.0.description|length == 11 %}]]></add>
</operation>
<operation>
<search><![CDATA[{% elseif count_videos > 1 %}]]></search>
<add position="before"><![CDATA[
{% elseif count_videos == 1 and video.0.description and video.0.description|length == 32 %}
<!-- одно видео Rutube -->
<div class="sku__video">
<a class="ui-link ui-link--blue" href="https://rutube.ru/video/{{video.0.description}}/" data-fancybox>
<svg class="icon-video"><use xlink:href="catalog/view/theme/prostore/sprites/sprite.svg#icon-video"></use>
</svg>{{ text_show_video }}
</a>
</div>]]></add>
</operation>
<operation>
<search><![CDATA[{% elseif count_videos > 1 %}]]></search>
<add position="replace"><![CDATA[
{% elseif count_videos > 1 and video.0.description|length == 32 %}
<!-- несколько видео Rutube-->
<div class="sku__video">
<a class="ui-link ui-link--blue" href="#rutube" data-fancybox>
<svg class="icon-video"><use xlink:href="catalog/view/theme/prostore/sprites/sprite.svg#icon-video"></use>
</svg>{{ text_show_video }}
</a>
</div>
{% elseif count_videos > 1 and video.0.description|length == 11 %}]]></add>
</operation>
<operation>
<search><![CDATA[{% if count_videos > 1 %}]]></search>
<add position="replace"><![CDATA[
{% if count_videos > 1 and video.0.description|length == 32 %}
<div class="fancybox-is-hidden popup popup--custom" id="rutube">
<span class="popup__title">{{ text_show_video }}</span>
<div class="popup__form">
{% for item_video in video %}
<a class="rutube-video-place" href="https://rutube.ru/play/embed/{{item_video.description}}/">
<figure class="ui-video__figure">
<img src="https://rutube.ru/api/video/{{item_video.description}}/thumbnail/?redirect=1" alt="" loading="lazy">
<svg class="icon-video hide"><use xlink:href="catalog/view/theme/prostore/sprites/sprite.svg#icon-video"></use></svg>
</figure>
</a>
{% endfor %}
</div>
</div>
{% elseif count_videos > 1 and video.0.description|length == 11 %}]]></add>
</operation>
<operation>
<search><![CDATA[$(document).on('click','.youtube-video-place', function(e) {]]></search>
<add position="before"><![CDATA[
$(document).on('click','.rutube-video-place', function(e) {
e.preventDefault();
$(this).html('<div class="ratio ratio-16x9 rtb-iframe"><iframe allow="clipboard-write; autoplay" width="820" height="461" src="' + $(this).attr('href') + '" frameBorder="0" class="embed-responsive-item" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></div>');
});]]></add>
</operation>
</file>
<file path="admin/language/ru-ru/extension/module/prostore/prostore_tab.php">
<operation>
<search><![CDATA[$_['text_video'] = 'Youtube id';]]></search>
<add position="replace"><![CDATA[$_['text_video'] = 'Youtube или Rutube id';]]></add>
</operation>
</file>
Также нужно добавить одно правило CSS в раздел Для разработчиков
Код: Выделить всё
.rtb-iframe { margin: 0 0 2rem; }
Рабочий магазин на последней версии шаблона. Сейчас осуществляется перенос роликов с Youtube на Rutube. Большинство товаров имеют по 2 ролика.