Макрос позволяет выводить на странице либо код для вставки видеоролика, либо статическое jpg превью изображение.
YouTube.com дает готовый кусок HTML кода для вставки ролика на страницу сайта. Но иногда требуется вывести ролик по адресу, который хранится в поле справочника. Чтобы не хранить в справочнике весь блок HTML кода и нужен этот макрос, который выполняет обрамление данного в ключе source пути к ролику в тэги EMBED/OBJECT и выводит стандартный flash видеоплеер YouTube.
Также, если нужно сформировать галерею видеороликов, будет полезна вторая функция - вывод статической превьюшки. Макросу достаточно передать URL видеоролика, из которого она сформирует тэг IMG с путем к статическому изображению на YouTube.com. Можно задать нужные размеры ключами height и width, но при этом нужно учесть, что изображение будет масштабироваться средствами браузера, т.к. превьюшка на сервер не скачивается и хранится на YouTube. Это позволит не заставлять редактора сайта готовить превьюшку внешними средствами и грузить её в отдельное поле базы.
Нужно иметь в виду, что когда не требуется высокой степени автоматизации, статическое preview можно загрузить отдельной картинкой в Библиотеку Файлов. Для этого достаточно скопировать в буфер обмена адрес ролика, или HTML Embed код для вставки ролика на страницу, и, выбрав в БФ нужную папку, нажать Ctrl-V ("вставить"). Либо, выбрать опцию "Загрузить preview" из контекстного меню. Система сама распознает путь к ролику, найдет Preview и загрузит его как статическое изображение в БФ. Далее, его можно будет вставить на страницу или использовать в полях справочника как обычную картинку, никакой связи с роликом в базе, естественно, у него не будет.
Самый простой, безключевой вызов:
$YouTube[http://www.youtube.com/v/5P4S9sanImU]$
В скобках передаем просто URL видеоролика.
Стандартный вызов с использованием ключей: вставка видео размером 640х480
$YouTube[source: "http://www.youtube.com/v/5P4S9sanImU&hl=en_US&fs=1"; width: 640; height; 480]$
Вывод статического изображения (превьюшки) размером 160 на 120 пикселов
$YouTube[source: "http://www.youtube.com/v/5P4S9sanImU&hl=en_US&fs=1"; mode: thumbnail; height: 160; width: 120]$
Сложный пример
Предположим, мы хотим хранить в базе и изображения и видео файлы для нашей фото-видео-галереи. При этом мы хотим чтобы на странице галереи были показаны превьюшки вперемешку, а при переходе к конкретному элементу было показано либо видео, либо статическое изображение.
Мы можем использовать для этого одно единственное поле, назовем его src. На странице вывода превьюшек мы скорее всего будем использовать макрос News, поэтому в дизайне галереи мы сделаем так:
$Text[source: "блок1, превью видео"; antisource: "блок2, превью фото"; condition: $Attribute:src$ rin "youtube.com"]$
Данный макрос выведет "блок 1" если найдет строку "youtube.com" в поле src, и "блок 2" если не найдет. "Блок 2" у нас будет представлять собой макрос Thumbnail, которому на вход мы подадим $Attribute:src$, результат работы макроса Watermark и так далее. То есть формируем его так, как это делается обычно для вывода уменьшенных изображений. В "блоке 1" мы напишем просто $YouTube[source: "$Attribute:src$"; mode: thumbnail; ...]$, поскольку мы ничего кроме как вывести изображение с превьюшкой больше сделать не сможем.
Все, на странице с просмотром большого изображения (когда мы от списка картинок перейдем к одной) мы можем сделать примерно то же самое, переключив макрос $YouTube[]$ в режим video.
Данный подход позволит очень удобно управлять галереей, используя в качестве входных данных всего одно поле, куда редактором будет вставляться либо путь к изображению, либо путь к видеофайлу на YouTube.