
ResVideoGallery для MODX 2
Адаптивная видеогалерея с Ajax-подгрузкой для MODX Revolution 2.x. Для MODX 3 — ResVideoGallery для MODX 3.
Поддерживаются следующие видеохостеры:
- youtube.com
- vimeo.com
- dailymotion.com
- rutube.ru
- vk.com
- coub.com
Сниппеты
ResVideoGallery
Сниппет для вывода видео на странице
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
| autoPlay | 1 | Автоматически запускать проигрывание видео |
| parents | Список категорий, через запятую, для поиска результатов. По умолчанию выборка ограничена текущим родителем. Если поставить 0 - выборка не ограничивается. | |
| resources | ID текущего ресурса | Список ресурсов, через запятую, для вывода в результатах. Если id товара начинается с минуса, этот товар исключается из выборки. |
| showInactive | 0 | Выводить неактивное видео. |
| limit | 12 | Количество выводимого видео. Если указать 0 то будет выведено все видео |
| offset | 0 | Пропуск результатов от начала. |
| sortby | rank | Поле для сортировки |
| sortdir | DESC | Направление сортировки |
| where | JSON строка для условия WHERE в SQL запросе. Пример: &where={"template":15} (без TV) | |
| tags | Список тегов, через запятую, которые должны быть в видео, что бы оно попало в выдачу | |
| getTags | 0 | Сделать дополнительные запросы, чтобы получить теги? |
| tagsVar | tag | Если этот параметр не пуст, то сниппет будет принимать из значение "tags" в $_REQUEST["указанноеимя"]. Например, если вы укажите здесь "tag", то сниппет будет выводить только файлы, подходящие в $_REQUEST["tag"]. |
| photoGallery | Выводить вместе с видео файлы фото галереи. Может принимать одно из значений: ms2Images или ms2Gallery. Где ms2Images - галерея miniShop2; ms2Gallery галерея MS2Gallery | |
| primarily | video | Устанавливает приоритет вывода элементов видео и фото галереи. Может принимать одно из значений: video или photo. |
| thumb | small | Название размера превью для фотогалереи. Берется из опции thumbnails источника файлов фотогалереи. |
| ajaxMode | button | Режим ajax пагинации. Может принимать одно из значений: button или scroll. |
| plPrefix | Префикс для плейсхолдеров. | |
| tpl | resVideoGalleryTpl | Чанк Fenom для оформления всей галереи. |
| tplRow | resVideoGalleryRowTpl | Чанк Fenom оформления одного элемента галереи. |
| tplEmbed | resVideoGalleryEmbedTpl | Чанк Fenom оформления кода видео плеера |
| css | {+assets_url}css/web/default.css | Если вы хотите использовать собственные стили - укажите путь к ним здесь, или очистите параметр и загрузите их вручную через шаблон сайта. |
| js | {+assets_url}js/web/default.js | Если вы хотите использовать собственные скрипты - укажите путь к ним здесь, или очистите параметр и загрузите их вручную через шаблон сайта. |
Настройка размера превью для видео
Создание превью происходит через phpThumb параметры для которого можно указать в настройках компонента, по умолчанию используются следующие:
{"w":640,"h":390,"q":90,"zc":"1","f":"jpg","bg":"000000"}Пример вызова сниппета ResVideoGallery с Ajax подгрузкой при клике на кнопку для ресурса с ID 5
[[!ResVideoGallery?
&limit=`3`
&resources=`5`
]]Пример вызова сниппета ResVideoGallery с Ajax подгрузкой при прокрутке для ресурса с ID 5
[[!ResVideoGallery?
&limit=`3`
&resources=`5`
&ajaxMode=`scroll`
]]Пример вызова сниппета ResVideoGallery через pdoPage для постраничной навигации для ресурса с ID 5
[[!pdoPage?
&element=`ResVideoGallery`
&ajaxMode=`default`
&limit=`4`
&resources=`5`
]]
[[!+page.nav]]Пример вызова сниппета ResVideoGallery для совместного вывода видео и фото из фотогалереи miniShop2
[[!ResVideoGallery?
&limit=`3`
&resources=`5`
&photoGallery=`ms2Images`
]]ResVideoGalleryTags
Сниппет для вывода облака тегов с функционалом фильтрации.
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
| parents | Список категорий, через запятую, для поиска результатов. По умолчанию выборка ограничена текущим родителем. Если поставить 0 - выборка не ограничивается. | |
| resources | ID текущего ресурса | Список ресурсов, через запятую, для вывода в результатах. Если id товара начинается с минуса, этот товар исключается из выборки. |
| showInactive | 0 | Выводить неактивное видео. |
| limit | 0 | Количество выводимого видео. Если указать 0 то будет выведено все видео |
| offset | 0 | Пропуск результатов от начала. |
| sortby | tag | Поле для сортировки |
| sortdir | ASC | Направление сортировки |
| where | JSON строка для условия WHERE в SQL запросе. Пример: &where={"template":15} (без TV) | |
| tagsVar | tag | Если этот параметр не пуст, то сниппет будет принимать из значение "tags" в $_REQUEST["указанноеимя"]. Например, если вы укажите здесь "tag", то сниппет будет выводить только файлы, подходящие в $_REQUEST["tag"]. |
| tpl | resVideoGalleryTagsTpl | Чанк Fenom для оформления результатов работы сниппета. |
ResVideoGalleryUpload
Сниппет для добавления видео из фронтенда.
Сниппет ResVideoGalleryUpload выводит форму которая через Ajax позволяет пользователям добавлять видео.
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
| resource | ID текущего ресурса | ID ресурса в который будет добавлено видео. |
| active | 1 | Будет ли активно видео после добавления. |
| onlyAuth | 1 | Выводить форму только авторизованным пользователям. |
| usergroups | Название через запятую группы пользователей которым только выводить форму. | |
| multiple | 1 | Добавлять за раз неограниченное количество видео. |
| tags | Список тегов, через запятую, которые будут добавлены к указанным пользователем. | |
| allowTags | Список HTML тегов которые не будут удалятся из названия и описания видео через strip_tags. | |
| css | {+assets_url}css/web/default.css | Если вы хотите использовать собственные стили - укажите путь к ним здесь, или очистите параметр и загрузите их вручную через шаблон сайта. |
| js | {+assets_url}js/web/default.js | Если вы хотите использовать собственные скрипты - укажите путь к ним здесь, или очистите параметр и загрузите их вручную через шаблон сайта. |
resVideoGallery frontend add video (old)
Добавление своего видео парсера
Для того чтобы добавить свой видео парсер нужно создать в core/components/resvideogallery/model/resvideogallery/providers php файл с классом наследником от RvgProvider в котором определить метод "scrape" и переопределить ряд свойств.
События
Доступны следующие события:
- rvgOnBeforeVideoAdd
properties- параметры запроса
- rvgOnAfterVideoAdd - добавление видео
video- экземпляр класса RvgVideosproperties- параметры запроса
- rvgOnBeforeVideoUpdate
- rvgOnAfterVideoUpdate - обновление видео
video- экземпляр класса RvgVideosproperties- параметры запроса
- rvgOnBeforeVideoRemove
- rvgOnAfterVideoRemove - удаление видео
video- экземпляр класса RvgVideos
- rvgOnBeforeThumbUpdate
- rvgOnAfterThumbUpdate - обновление превью для видео
properties- параметры запросаvideo- экземпляр класса RvgVideos
- rvgOnGetVideoEmbed - получения кода вставки видео
data- массив данных о видео
Настройка Вконтакте
- Регистрируемся в Вконтакте, авторизовываемся.
- Менеджер приложений находится тут, переходим.
- Создаем приложение в Вк.
- Указываем название, выбираем тип приложения Standalone.
- Включаем приложение, изменив селект Состояние и сохраняем изменения.
- Переходим в настройки и копируем ID приложения. Заменяем {ID приложения} в строке
https://oauth.vk.com/authorize?client_id={ID приложения}&scope=offline,video&redirect_uri=https://oauth.vk.com/blank.html&display=page&v=5.73&response_type=tokenна наш ID приложения и вставляем в строку броузера. - В появившемся окне нажимаем разрешить.
- Получаем строку следующего вида
https://oauth.vk.com/blank.html#access_token=349252841f7c58495dd5692d8b55ab6460ec23aa60dsfdsfdsfdsfdsfdsfdsfsdfsdfsddfsddfcx&expires_in=0&user_id=30314063копируем access_token в блокнотик. Если появляется ошибка вида{"error":"invalid_request»,»error_description":"Security Error"}необходимо выйти из своего аккаунта ВКонтакте и снова в нем авторизоваться. - Теперь открываем наш сайт. Переходим в Системные настройки / ResVideoGallery и прописываем скопированное значение access_token в опцию "Access Token для Вконтакте".
