[videoGallery] Видео галерея YouTube, Vimeo
Небольшой компонент, который добавляет новый тип TV — videoGallery. Туда можно вставить ссылку на ролик Ютуб и получить JSON в это ТВ (чего хватит для Fenom). Но можно и раскидать данные ролика по полям документа в автоматическом режиме, путём указания в системных настройках требуемых полей.
На картинке:
- в блоке номер 1 — TV поле с типом videoGallery.
- в блоке номер 2 — поля указанные по желанию в настройках (они необязательны).
В компоненте были использованы 2 класса для обработки ссылок:
- videoThumb от Василия Наумкина — bezumkin.ru/sections/blog/441/
- Panorama PHP от frandieguez — github.com/frandieguez/Panorama-PHP
Пример обработки JSON поля средствами Fenom:
{set $video_json = json_decode($_modx->resource.video, true)}
{if $video_json.video?}
<div><img src="{$video_json.image}" /></div>
<iframe width="860" height="650" src="{$video_json['video']}" frameborder="0" allowfullscreen></iframe>
{if $video_json.title?}
<div><b>Название:</b> {$video_json.title}</div>
{/if}
{if $video_json.desc?}
<div><b>Описание:</b> {$video_json.desc}</div>
{/if}
{else}
Видео нет
{/if}
Видеогалерея — это конечно громко сказано. Однако название было придумано с расчётом на будущее данного компонента.
Скачать компонент — modstore.pro/packages/other/videogallery
Поблагодарить автора
Отправить деньги
Комментарии: 190
Я не знаю, кто поставил вам минус, но прошу не обращать на это внимание.
Компонент очень интересный и многим понадобится. Я себе уже поставил галочку, что такой компонент есть, и теперь буду знать, где его найти.
Компонент очень интересный и многим понадобится. Я себе уже поставил галочку, что такой компонент есть, и теперь буду знать, где его найти.
Вместо «Не трогать! Заполняется автоматически.» лучше сделать эти поля disabled или readonly, чтобы потрогать не вышло при всём желании.
Ну и не хватает примеров по выводу этого ТВ на странице, особенно через Fenom.
Ну и не хватает примеров по выводу этого ТВ на странице, особенно через Fenom.
Обязательно чуть позже напишу пример того, как средствами Феном вывести видео на странице.
До галереи тут еще далеко, хотя задача «1 видео на странице» тоже имеет место быть. Выскажу свои соображения как разработчик двух видеогалерей для Evo (:
Не совсем понятно, зачем использовать два класса, которые решают одну и ту же задачу. Разница только в том, что videoThumb не умеет получать название, описание и другие характеристики видео, но зато он будет работать без ключа. А Panorama, как я помню, не понимал ссылки типа youtu.be, если не исправили уже, конечно.
«Не трогать! Заполняется автоматически» — лучше было бы не заполнять автоматически там, где заполнили вручную. Даже в примере пользователь, скорее всего, захочет убрать ссылку из описания. Если же данные запрашиваются и перезаписываются каждый раз при сохранении страницы, то это не очень хорошо.
А ссылку на embed нет смысла вообще показывать в админке, она необходима только при выводе. Вообще не представляю ситуацию, в которой пользователю нужна возможность менять это поле.
Не совсем понятно, зачем использовать два класса, которые решают одну и ту же задачу. Разница только в том, что videoThumb не умеет получать название, описание и другие характеристики видео, но зато он будет работать без ключа. А Panorama, как я помню, не понимал ссылки типа youtu.be, если не исправили уже, конечно.
«Не трогать! Заполняется автоматически» — лучше было бы не заполнять автоматически там, где заполнили вручную. Даже в примере пользователь, скорее всего, захочет убрать ссылку из описания. Если же данные запрашиваются и перезаписываются каждый раз при сохранении страницы, то это не очень хорошо.
А ссылку на embed нет смысла вообще показывать в админке, она необходима только при выводе. Вообще не представляю ситуацию, в которой пользователю нужна возможность менять это поле.
Panorama так и не понимает ссылки такого вида. По поводу «зачем 2 класса», Вы сами ответили на свой вопрос. Один для того, если не введен ключ апи, второй чтобы получать название и описание.
По полям, которые ниже поля с видео — эти поля каждый создает сам, ровно как и поле с типом videoGallery, поэтому вместо «заполняется автоматически», каждый для себя может написать что угодно. А может вообще не создавать эти поля, а выводить ту-же самую информацию используя возможности Fenom. Фактически, эти 4 поля каждый создает (или не создаёт) сам для своего же удобства. Кому удобнее хранить всё в одном json поле — обходится только первым полем. Единственное я скрыл поле с массивом json, наверное всё же нужно было оставить его для наглядности того, что оно есть?
Данные запрашиваются при событии jquery — «input». А при сохранении срабатывает плагин, который удаляет старые не используемые изображения из папки, оставляя только то, что используется в Json массиве в поле с типом «videoGallery».
По полям, которые ниже поля с видео — эти поля каждый создает сам, ровно как и поле с типом videoGallery, поэтому вместо «заполняется автоматически», каждый для себя может написать что угодно. А может вообще не создавать эти поля, а выводить ту-же самую информацию используя возможности Fenom. Фактически, эти 4 поля каждый создает (или не создаёт) сам для своего же удобства. Кому удобнее хранить всё в одном json поле — обходится только первым полем. Единственное я скрыл поле с массивом json, наверное всё же нужно было оставить его для наглядности того, что оно есть?
Данные запрашиваются при событии jquery — «input». А при сохранении срабатывает плагин, который удаляет старые не используемые изображения из папки, оставляя только то, что используется в Json массиве в поле с типом «videoGallery».
Единственное я скрыл поле с массивом json, наверное всё же нужно было оставить его для наглядности того, что оно есть?Нет, такое поле точно лишнее (:
Пример обработки JSON поля средствами Fenom:
{set $video_json = $modx->fromJSON($_modx->resource.video)}
{if !empty($video_json['video'])}
<iframe width="860" height="650" src="{$video_json['video']}" frameborder="0" allowfullscreen></iframe>
{else}
Видео нет
{/if}
Плохой пример, советую переписать. Переменная {$modx} отключена по умолчанию и включать её никому не советую, иначе любой менеджер сайта может натворить дел.
Использовать её можно исключительно там, где ты — единственный хозяин сайта и больше никого в админке гарантированно не будет. Если ты предлагаешь общедоступное решение — это не вариант.
Так что использование {$modx-> fromJSON()} отпадает, но зато мы можем использовать обычный json_decode() — он в списке разрешенных функций Fenom, вместе с
Так что, правильный вариант будет таков:
И кстати, можно заменить
Использовать её можно исключительно там, где ты — единственный хозяин сайта и больше никого в админке гарантированно не будет. Если ты предлагаешь общедоступное решение — это не вариант.
Так что использование {$modx-> fromJSON()} отпадает, но зато мы можем использовать обычный json_decode() — он в списке разрешенных функций Fenom, вместе с
json_encode, count, is_string, is_array, is_numeric, is_int, is_object, strtotime, gettype, is_double, ip2long, long2ip, strip_tags, nl2br
Так что, правильный вариант будет таков:
{set $video_json = json_decode($_modx->resource.video, true)}
{if !empty($video_json['video'])}
<iframe width="860" height="650" src="{$video_json['video']}" frameborder="0" allowfullscreen></iframe>
{else}
Видео нет
{/if}
И кстати, можно заменить
{if !empty($video_json['video'])}
на
{if $video_json.video?}
См. операторы сравнения. Обожаю Fenom!
Автору на заметку getYoutube.
Так же Создает галерею из минусов компонента
— Разработка заброшена но работает
— Не поддерживает getPage pdoPage (собственная пагинация)
— Есть два варианта работы либо указывается массив имен видео роликов ( прямо в коде что фигово ), 2 вариант указываться имя канала — глючит после некоторого времени начинает выводить только 4 1 -вых видео).
Допилить бы этому компоненту пагинацию нормалдьную устранить баги с каналом и нормальнуюю админку и красота была бы.
Суть работы такая указываешь канал и он ролики прямо с канала в галерею все выводит.
Так же Создает галерею из минусов компонента
— Разработка заброшена но работает
— Не поддерживает getPage pdoPage (собственная пагинация)
— Есть два варианта работы либо указывается массив имен видео роликов ( прямо в коде что фигово ), 2 вариант указываться имя канала — глючит после некоторого времени начинает выводить только 4 1 -вых видео).
Допилить бы этому компоненту пагинацию нормалдьную устранить баги с каналом и нормальнуюю админку и красота была бы.
Суть работы такая указываешь канал и он ролики прямо с канала в галерею все выводит.
Видел я его. Не подошёл он мне.
В tv вставляю ссылку, подгружается видео и картинка, сохраняю, fenom выдает «видео нет»
ЧЯДНТ?
ЧЯДНТ?
Попробуй включить PHP в настройках Феном и вывести вот так свой TV:
Значит тебе надо выводить сразу вот так:
{print_r($_modx->resource.video)}
Возможно Феном (или что-то ещё) декодит JSON ещё на стороне вывода. У меня сейчас так с новой версии pdoTools. Надо переписать пример будет.Значит тебе надо выводить сразу вот так:
{set $video = $_modx->resource.video}
{if !empty($video['video'])}
<iframe width="860" height="650" src="{$video['video']}" frameborder="0" allowfullscreen></iframe>
{else}
Видео нет
{/if}
Простите, ошибка идиотская у меня: забыл поменять тв!
Извиняюсь. Дело не в обновлении pdoTools, а в его особенности. Точнее дело обстоит так:
— Если мы вызываем ТВшку через сниппет pdoResources, он у нас преобразует JSON в Array автоматом, и нам не надо декодировать ТВ параметр в чанке вывода результата.
— Если мы вызываем ТВшку на странице вот так — "$_modx->resource.video", он нам вернёт JSON массив, который как и прежде надопреобразовать в обычный массив декодировать.
Прошу прощения за то, что запутал. Сам запутался. Только сейчас дошло, в чём дело.
— Если мы вызываем ТВшку через сниппет pdoResources, он у нас преобразует JSON в Array автоматом, и нам не надо декодировать ТВ параметр в чанке вывода результата.
— Если мы вызываем ТВшку на странице вот так — "$_modx->resource.video", он нам вернёт JSON массив, который как и прежде надо
Прошу прощения за то, что запутал. Сам запутался. Только сейчас дошло, в чём дело.
И у pdoResources можно отключить декодирование JSON, если нужно — параметр &decodeJSON=`0`
а как вывести изображения/видео в pdoResources?
Используй настройки компонента. Укажи поля для изображения/видео — и выведи их.
полчаса пытаюсь привязать tv параметр, а он упорно остается пустым
Друг, если это был вопрос, то я его не понял.
Да я указал поле tv для изображения в настройках компонента. А на странице документа оно остается пустым.
Мм… Ну прежде всего хочется сказать, что для того, чтобы туда что-то попало, надо чтобы при указании ссылки на видео поле уже было указано в настройках. Ибо информация прописывается в поля указанные в настройках во время парсинга, а не чудным образом когда вам это захочется.
К тому-же я не вижу, в каком виде ты его указал. Может не правильно.
Если ты хочешь, чтоб тебе помогли — научись задавать вопросы. Чем больше информации ты укажешь в вопросе о своей проблеме и о попытках её решения, тем больше вероятности того, что тебе помогут.
Меня поражают подобные ситуации, когда люди думают, что той информацией, которой руководствуются они — априори руководствуются и их оппоненты. Это не так…
К тому-же я не вижу, в каком виде ты его указал. Может не правильно.
Если ты хочешь, чтоб тебе помогли — научись задавать вопросы. Чем больше информации ты укажешь в вопросе о своей проблеме и о попытках её решения, тем больше вероятности того, что тебе помогут.
Меня поражают подобные ситуации, когда люди думают, что той информацией, которой руководствуются они — априори руководствуются и их оппоненты. Это не так…
Создал tv/добавил его в настройки/добавил видео в документ.
А в каком «виде» можно указать tv?
А в каком «виде» можно указать tv?
А в каком ты его указал? Можно указать так «tv.video_image», а можно так «tv_video_image», а можно так «video_image». Только для данного компонента приемлим один из этих вариантов — «tv.video_image».
да, это оно. Спасибо за терпение!
Прошу на будущее, и не ради себя, а ради всех разработчиков, которые осуществляют безвозмездную поддержку своих компонентов: когда задаёшь вопрос, указывай как можно больше информации о проблеме, указывай то, что использовал в настройках, в вызове сниппета и т.п.
И в описании настройки есть пример, как указывать ТВ поле. Читай описание настроек чаще, оно не просто так пишется…
И в описании настройки есть пример, как указывать ТВ поле. Читай описание настроек чаще, оно не просто так пишется…
Скоро в modStore.pro появится обновление videoGallery 1.0.2 beta.
Рекомендую всем обновится, потому что в ранних версиях была жёсткая недоработка с переносом картинок из временной папки.
Рекомендую всем обновится, потому что в ранних версиях была жёсткая недоработка с переносом картинок из временной папки.
Прошу обратить внимание на modx.pro/components/6314-videogallery-video-gallery-youtube/#comment-46171
Приветствую!
Есть проблема: конфликт js в бэкенде при использовании videoGallery в документах вместе с ContentBlocks
Да, понимаю, кроме меня ContentBlocks тут мало кто использует, увы. Но если, вдруг, автор проявит интерес к этой проблеме, готов обсудить стоимость ее устранения и буду благодарен, если в последующих релизах она будет пофиксена.
Компонент videoGallery весьма хорошо подошел для сохранения превьюшки и прочих заявленных функций при работе с Vimeo.
PS Кстати, зря в названии галереи Vimeo не упоминается, далеко не все можно хостить на youtube по многим причинам, потому, кто то ищет такое решение и в заголовок vimto хорошо бы добавить.
Я использую платный аккаунт vimeo. Так как этот видеохостинг более продвинутый, по сравнению с youtube, в части кастомизации и брендирования плеера, настроек приватности, настроек для отображения видео на ограниченном перечне доменов и т.п.
Есть проблема: конфликт js в бэкенде при использовании videoGallery в документах вместе с ContentBlocks
Да, понимаю, кроме меня ContentBlocks тут мало кто использует, увы. Но если, вдруг, автор проявит интерес к этой проблеме, готов обсудить стоимость ее устранения и буду благодарен, если в последующих релизах она будет пофиксена.
Компонент videoGallery весьма хорошо подошел для сохранения превьюшки и прочих заявленных функций при работе с Vimeo.
PS Кстати, зря в названии галереи Vimeo не упоминается, далеко не все можно хостить на youtube по многим причинам, потому, кто то ищет такое решение и в заголовок vimto хорошо бы добавить.
Я использую платный аккаунт vimeo. Так как этот видеохостинг более продвинутый, по сравнению с youtube, в части кастомизации и брендирования плеера, настроек приватности, настроек для отображения видео на ограниченном перечне доменов и т.п.
Согласен, он может больше, чем просто обрабатывать YouTube, но мне некогда было тестить другие сервисы, поэтому указал лишь то, что тестил. Спасибо. Поправлю.
По поводу конфликта: у меня нет компонента ContentBlocks. Ту стоимость, которую они выставили — платить не вижу смысла, для устранения конфликта, уж извините.Тем более, что евро к тенге вырос почти в 2 раза чуть ли не за пол месяца. Если есть возможность дать мне доступ поработать на том сайте, где он у вас установлен (желательно чтобы это был чистый сайт, не боевой так сказать), я бы проявил интерес к устранению данного конфликта.
По поводу конфликта: у меня нет компонента ContentBlocks. Ту стоимость, которую они выставили — платить не вижу смысла, для устранения конфликта, уж извините.
Спасибо. Сайт боевой, но доступ к отдельному контексту, организую.
Отпишу в личку.
Отпишу в личку.
Вылечилось добавлением ноконфликт
var $ = jQuery.noConflict();
Ext.onReady(function()
в core/components/videogallery/tv/input/tpl/tv.videoGallery.input.tpl
Упорно не могу добиться вывода дополнительной инфы в TV
Настройки:
prntscr.com/8kom16
TV
prntscr.com/8kon1x
Страница ресурса:
prntscr.com/8konmr
Вставляю ссылку, обновляются превьюшки, tv для ссылки пустое
MODX v.2.4.1
Настройки:
prntscr.com/8kom16
TV
prntscr.com/8kon1x
Страница ресурса:
prntscr.com/8konmr
Вставляю ссылку, обновляются превьюшки, tv для ссылки пустое
MODX v.2.4.1
tv для ссылки пустоеэто же инпут — один раз вставили ссылку на видео, все записалось в базу, картинка в свою директорию. Далее вызываете в шаблоне, например феномом, как указано в топике. Или вы чего хотите?
Я говорю не о поле, в которое вставляется ссылка на ролик. Посмотрите скрины. Я говорю о tv.video_link, в которое по идее должен записываться embed url.
У меня установлена версия videoGallery 1.0.2-beta. Соответственно, вывожу феномом любой из параметров. Не пользовался предыдущей версией, но если там embed url записывался в отдельную тивишку, то вызывайте ее без префикса, не [[*tv.video_link]], [[*video_link]].
Да, спасибо, просто с префиксами напутал.
Доброго дня! ID видео ни где не сохраняется отдельно?
ID видео — это то, что _https://www.youtube.com/watch?v=Вот_здесь?
Да, или без параметров как player.vimeo.com/video/135846206, соответственно 135846206
неудачный пример с вимео взял, он к одному домену привязан, но суть не меняться
неудачный пример с вимео взял, он к одному домену привязан, но суть не меняться
Не сохраняет.
Как вариант, обработать строку Феномом. У него есть модификатор replace:
Как вариант, обработать строку Феномом. У него есть модификатор replace:
{var $embed = $video_json.video}
{var $embed = $embed|replace:"http://www.youtube.com/embed/":""}
{var $embed = $embed|replace:"http://player.vimeo.com/video/":""}
{$embed}
P.S.: Не знаю точно, какой там embed УРЛ у vimeo, поэтому вместо того, что я написал в коде — замените на реальное.
Да, спасибо, вариант
Однако, поле с id видео предусмотрите в следующей версии, очень оно будет полезным.
Однако, поле с id видео предусмотрите в следующей версии, очень оно будет полезным.
Новая версия скоро будет доступна в репозитории modStore. А пока можно качнуть и собрать самому.
В JSON поле добавился новый элемент массива — videoId.
В JSON поле добавился новый элемент массива — videoId.
По «спасибо» написал в личку.
videoId — регистр Id важен?
videoId — регистр Id важен?
Вроде да. Точно не могу сказать, не проверял.
Что бы при выводе в шаблоне раскидать по местам
<div data-type="vimeo"
data-videoid="135846206" айдишник только вырезать пока из {$video_json['video']} остается, если он ни где не сохраняется
data-thumb="{$video_json.image}"
data-title="{$video_json.title}"
data-description="{$video_json.desc}">
</div>
это для unitegallery.net/index.php?page=video-icon
В след версии сделаю, чтоб сохранял.
в личку написал
как удалить вставленный в тв поле ролик, если он больше не нужен?
Перезаписать пустым не получается, ролик все равно остается.
Также в админке и на сайте он не отображается без костылей когда сайт https
Также в админке и на сайте он не отображается без костылей когда сайт https
Каких костылей? У меня нет https, чтобы тестить. Меня и так всё устраивает пока. Поэтому если хочешь, чтобы проблемы не было в коробке — напиши подробнее, пожалуйста.
По удалению ролика: когда перезаписываешь пустым, что-нибудь пишет? Или пишет, что сохранено, а ролик остался при последующем входе на страницу редактирования ресурса? Остаётся где? В JSON строке, или в дополнительных полях, которые указываются в настройках пакета?
По удалению ролика: когда перезаписываешь пустым, что-нибудь пишет? Или пишет, что сохранено, а ролик остался при последующем входе на страницу редактирования ресурса? Остаётся где? В JSON строке, или в дополнительных полях, которые указываются в настройках пакета?
в videoThumb.php исправил в 46 строке на https
остается в JSON строке, дополнительных полей нет вообще, только поле ввода ссылки
остается в JSON строке, дополнительных полей нет вообще, только поле ввода ссылки
PS: удалил ролик из базы
ОФФтопик — а у вас как переключение языков реализовано (на скриншоте видно)?
Babel + контексты + плагин + нгинкс конфиг (2 строчки).
Спасибо за оперативный ответ!
Получается что видео добавляется в соответствующий ресурс в каждом контексте?
То есть, если три контекста = три языка, то видео добавляем в трех местах?
Получается что видео добавляется в соответствующий ресурс в каждом контексте?
То есть, если три контекста = три языка, то видео добавляем в трех местах?
Ага.
А можно для дебилов, как правильно вызывать конструкцию в pdoresources? в каком параметре… покажите пример плиз, а то у меня выгружается то массив кода запрос-ответ, то «сайт в сайте» в том месте, где должен выгружаться видео ролик.
Свой код в студию.
Ну я так понимаю через &sortby, ибо в документации — Можно указывать JSON строку с массивом нескольких полей.
На самом деле ковырялся ночью по разному, все не вспомню, поэтому и попросил вас написать, для ДЕБИЛОВ, как сделать, чтобы видео на странице появилось :))))
На самом деле ковырялся ночью по разному, все не вспомню, поэтому и попросил вас написать, для ДЕБИЛОВ, как сделать, чтобы видео на странице появилось :))))
[[pdoResources?
&sortby=`{{set $video_json = json_decode($_modx->resource.video, true)}
{if !empty($video_json['video'])}
<iframe width="860" height="650" src="{$video_json['video']}" frameborder="0" allowfullscreen></iframe>
{else}
Видео нет
{/if}}`
]]
Слушайте, я наверное сильно затупил, все что тут написано это для вывода галереи видео, а мне нужно тупо в шаблон с новостью вставить ролик, мне тупо вывести TV
TV поле с типом videoGallery.на странице? :D
В общем ничего у меня не выходит, скажите пожалуйста, как и куда нужно все это вставлять, чтобы на странице можно было посмотреть видео…
Для начала надо указать в настройках пакета тв поля, куда будут записываться распарсенные данные видео ролика, в частности embed url. Это не тот тв, у которого тип videoGallery, это другой тв, желательно с типом «текстовая строка». Далее добавить видео и проконтролировать, чтобы твой тв, который ты указал в настройках был заполнен именно embed url. После выводишь этот свой тв на странице в ифрейме, наподобие примера с феномом.
Я все настроил… только по ходу везде указал значение videoGallery. + У меня это вставляется на страницах, реализованных через тикеты, то есть наверное мне еще jevix нужно отрубить… соответственно другой тв у меня video, как в примере
в общем, я совсем запутался, вместо видео выводится пустое место, в коде же — есть iframe с ссылкой на ролик, но с какого то приписывается конструкция внутри iframe
Вы не могли бы написать, как правильно выводить вот это
fenom же в pdo, может я не так вывожу.? И куда вставить, мне нужно, чтобы видео было на страничке новости, как просто при вставке из ютуба — вставляю iframe на страницу и получаю видео, но проблема в одном- html редактор обрезает
<html><head></head><body></body></html>
скрин в аттаче Вы не могли бы написать, как правильно выводить вот это
{set $video_json = json_decode($_modx->resource.video, true)}
{if $video_json.video?}
<div><img src="{$video_json.image}" /></div>
<iframe width="860" height="650" src="{$video_json['video']}" frameborder="0" allowfullscreen></iframe>
{if $video_json.title?}
<div><b>Название:</b> {$video_json.title}</div>
{/if}
{if $video_json.desc?}
<div><b>Описание:</b> {$video_json.desc}</div>
{/if}
{else}
Видео нет
{/if}
fenom же в pdo, может я не так вывожу.? И куда вставить, мне нужно, чтобы видео было на страничке новости, как просто при вставке из ютуба — вставляю iframe на страницу и получаю видео, но проблема в одном- html редактор обрезает
allowfullscreen
от сюда следует, что не возможно на весь экран открыть… Далее добавить видео и проконтролировать, чтобы твой тв, который ты указал в настройках был заполнен именно embed urlне загружается :( пустое поле после вставки и сохранения документа
Кинь доступ в ЛС.
Вместо «Не трогать! Заполняется автоматически.» лучше сделать эти поля disabled или readonly, чтобы потрогать не вышло при всём желании.
Ну и не хватает примеров по выводу этого ТВ на странице, особенно через Fenom.
ответить
Гвоздь 23 августа 2015, 09:04 # ↑ +2
Обязательно чуть позже напишу пример того, как средствами Феном вывести видео на странице.
ответить
Может быть вы покажите пример? :)))пожалууйстаааа… а то у меня уже ошибки вылезают типа — Refused to display in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'
Покажите пример, а я сам найду ошибку, чтобы вас больше не дергать. Я сейчас все снес и удалил, заново переустановлю создам поля и тд. Спасибо!
Пример чего? Как вывести ТВ поле на странице, чтоли?..
да нет, я думал может быть, тут что-то не написано и нужно выводить, как у Василия было, примерно так —
[[!getVideo?url=`[[+tv.studioVideo]]`&return=`image`]]
кажется что-то пошло не так, все заново проделаю сейчас, не может быть, что поле не заполняется со ссылкой, у меня даже название и описание в поля заполняются… а тут такое <iframe width="860" height="650" src="{$_modx->resource.video}" frameborder="0" allowfullscreen></iframe>
<iframe width="860" height="650" src="[[*video]]" frameborder="0" allowfullscreen></iframe>
У тебя проблема не в выводе, а в настройке… Поэтому доступ написал кинуть. Ну раз уж не хочешь — разбирайся сам…
В общем, заработало, правда криво — ember url упорно не хочет вставлять ссылку в создаваемое доп поле, как я его только не называл.., а в introtext вставилось без проблем и вывелось на страницу, но если вы используете Tickets в построении ветви вашего сайта поставьте галочки на «выполнять теги Modx» и «Отключить Jevix». Это на всякий, вдруг кто столкнется с такой же проблемой.
Но я так и не смог решить 2ю проблему, у меня для отображения превью к новостям используется TV поле image, и я хотел, чтобы при вставке видео, картинка добавлялась в это поле, вбил это тв в настройки но ничего не выходило. Теперь я понимаю, что у меня не только картинка в нужное поле не вставлялась, потому и не выводилась но еще и ссылка на видео. Промучался весь день, чтобы найти проблему, может быть вы знаете почему такое происходит?
Но я так и не смог решить 2ю проблему, у меня для отображения превью к новостям используется TV поле image, и я хотел, чтобы при вставке видео, картинка добавлялась в это поле, вбил это тв в настройки но ничего не выходило. Теперь я понимаю, что у меня не только картинка в нужное поле не вставлялась, потому и не выводилась но еще и ссылка на видео. Промучался весь день, чтобы найти проблему, может быть вы знаете почему такое происходит?
modx.pro/components/6314-videogallery-video-gallery-youtube/#comment-46608
modx.pro/components/6314-videogallery-video-gallery-youtube/#comment-45922
Вполне возможно, если ты будешь читать описание к настройкам, которые вбиваешь в системных параметрах, и вникать в то, что там написано, то многие проблемы получится избежать сейчас и в будущем.
modx.pro/components/6314-videogallery-video-gallery-youtube/#comment-45922
Вполне возможно, если ты будешь читать описание к настройкам, которые вбиваешь в системных параметрах, и вникать в то, что там написано, то многие проблемы получится избежать сейчас и в будущем.
Возможно ли использовать вместе с MIGX для создания именно галереи, а не отдельного видео. Делаю так.
---Вкладки формы---
[{«caption»: «video-gallery»,
«fields»: [
{«field»:«video-item», «caption»:«Видео», «inputTV»:«videoGallery»}]
}]
---Разметка колонок---
[{«header»:«Ссылка на видео», «sortable»:«true», «dataIndex»:«video-item», «renderer»:«this.renderVideoGalleryTV»}]
Пишет ошибку — assets/components/migx/connector.php Failed to load resource: the server responded with a status of 500 (Internal Server Error)
Думаю проблемма в этом — renderer":«this.renderVideoGalleryTV».
---Вкладки формы---
[{«caption»: «video-gallery»,
«fields»: [
{«field»:«video-item», «caption»:«Видео», «inputTV»:«videoGallery»}]
}]
---Разметка колонок---
[{«header»:«Ссылка на видео», «sortable»:«true», «dataIndex»:«video-item», «renderer»:«this.renderVideoGalleryTV»}]
Пишет ошибку — assets/components/migx/connector.php Failed to load resource: the server responded with a status of 500 (Internal Server Error)
Думаю проблемма в этом — renderer":«this.renderVideoGalleryTV».
Извините, поторопился.
Никак не могу понять, почему описание видео не вставляется в content. То есть вот в introtext, tv и другие поля вставляется, а туда нет. Оно так и не должно вставляться или что-то я не так делаю?
Скорее всего это из-за какого-то редактора, который навешивается на оригинальное поле контента. Я не тестировал пакет таким образом.
Стоит markitup, но и без него не получается. То есть если создать tv — тип ввода — текстовый редактор — то тоже туда норм вставляется.
подскажите плиз, можно ли использовать videoGallery в migx для создания видео галлереи?
Вот мой код для создания галлереи:
но при добавлении Видео на вкладке TV, у меня выводится пустое окно :(
В логах тоже пусто.
Вот мой код для создания галлереи:
[
{"caption":"Add Item", "fields": [
{"field":"title","caption":"Title"},
{"field":"video","caption":"Gallery","inputTV":"migx_video_gallery"}
]}
]
но при добавлении Видео на вкладке TV, у меня выводится пустое окно :(
В логах тоже пусто.
Я не тестировал, но вряд ли.
Павел, вопрос о размере превьюшки.
VideoGallery я использую с Vimeo. «Родное» изображение в случае с вимео большое — 1 920px × 1 080px (пример), но videoGallery получает его и сжимает до 640px × 360px (т.е. в 3 раза). Возможно 1 920px × 1 080px особо ни кому не требуется, но 640px × 360px не очень универсальный размер. Уменьшение в два раза кажется более щадящим.
Собственно о чем я, а нельзя ли вынести в настройки возможность изменять размер сохраняемой превьюшки?
VideoGallery я использую с Vimeo. «Родное» изображение в случае с вимео большое — 1 920px × 1 080px (пример), но videoGallery получает его и сжимает до 640px × 360px (т.е. в 3 раза). Возможно 1 920px × 1 080px особо ни кому не требуется, но 640px × 360px не очень универсальный размер. Уменьшение в два раза кажется более щадящим.
Собственно о чем я, а нельзя ли вынести в настройки возможность изменять размер сохраняемой превьюшки?
videoGallery получает его и сжимает до 640px × 360pxЭто не пакет его сжимает, а сам сервис Vimeo. И в итоге, через API даёт возможность выбора между большим (640px), средним (200x150) и маленьким. Отсюда и изображения на 640px в ширину. Конечно, есть возможность получив изображение типа large, далее просто в конце обрезать "_640" и получить самый большой вариант изображения. Что я собственно и сделал в новой версии пакета. Обновляйся.
— Добавлена возможность указывать ссылку на видео с канала в Vimeo: _ttps://vimeo.com/channels/{channelname}/{videoid}
— Изображения с Vimeo теперь сохраняются в максимально возможном разрешении
Таааак)))) Прекрасно!
А теперь подскажи, у тебя так же QIWI для спасибо или уже нормально с Яндекс кошельком?
А теперь подскажи, у тебя так же QIWI для спасибо или уже нормально с Яндекс кошельком?
Нормально уже. :) Пиши в личку, если что.
А можно ли обновить все превьюшки Vimeo через консоль (Console)? Что то не придумаю как.
Можно. Надо сделать выборку и перегенерировать каждый видеоролик заново.
Набросал код, который обновит видео превьюхи у всех ресурсов. Если надо разграничить только для сервиса Vimeo — нужно добавить соответствующую проверку в выборку xPDO, это совершенно не сложно.
Подключить MODX в скрипте можно вставив этот код в самое начало:
Набросал код, который обновит видео превьюхи у всех ресурсов. Если надо разграничить только для сервиса Vimeo — нужно добавить соответствующую проверку в выборку xPDO, это совершенно не сложно.
$field = $modx->getOption('videogallery_field_image');
$q = $modx->newQuery('modResource');
$q->innerJoin('modTemplateVarResource', 'modTemplateVarResource', 'modTemplateVarResource.contentid = modResource.id');
$q->innerJoin('modTemplateVar', 'modTemplateVar', 'modTemplateVar.id = modTemplateVarResource.tmplvarid');
$q->select(array(
'modResource.id as resource_id',
'modTemplateVar.id as tv_id',
'modTemplateVar.name as tv_name',
'modTemplateVarResource.value as tv_value',
'modTemplateVarResource.id as id',
));
$q->where(array(
'modTemplateVar.type' => 'videoGallery',
));
$q->prepare();
$q->stmt->execute();
$rows = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {
// print_r($row);
$data = $modx->fromJSON($row['tv_value']);
if (is_array($data) && isset($data['video'])) {
$old['fileurl'] = $data['image'];
$old['filepath'] = str_replace(MODX_ASSETS_URL, MODX_ASSETS_PATH, $old['fileurl']);
$resp = $modx->runProcessor('gallery/handle', array(
'resource' => $row['resource_id'],
'tv' => $row['tv_id'],
'video' => $data['video'],
), array('processors_path' => MODX_CORE_PATH . 'components/videogallery/processors/mgr/'));
$resp = $resp->response;
// print_r($resp['object']['image'].PHP_EOL);
if ($resp['success']) {
if ($resource = $modx->getObject('modResource', array('id' => $row['resource_id']))) {
$resource->setTVValue($row['tv_name'], $resp['object']['json']);
$resource->save();
// Если в настройках указано поле для хранения изображений - сохраним в него новый путь до картинки
if ($field) {
if (stristr($field, 'tv.')) {
$resource->setTVValue(str_replace('tv.', '', $field), $resp['object']['image']);
} else {
$resource->set($field, $resp['object']['image']);
}
$resource->save();
}
// Удалим старое изображение
if (file_exists($old['filepath']) && $old['fileurl'] != $resp['object']['image']) {
@unlink($old['filepath']);
}
}
}
}
}
print 'Done!';
Я советую запускать его из терминала, вначале скрипта подключив MODX. Потому что, если ресурсов с видеороликами хотя-бы 30-50 штук, то времени на выполнение скрипта из браузера, скорее всего, не хватит.Подключить MODX в скрипте можно вставив этот код в самое начало:
// Подключаем MODX
define('MODX_API_MODE', true);
do {
$dir = dirname(!empty($file) ? dirname($file) : __FILE__);
$file = $dir . '/index.php';
$i = isset($i) ? --$i : 10;
} while ($i && !file_exists($file));
if (file_exists($file)) {
require_once $file;
} else {
exit("Access denied!");
}
$modx->getService('error', 'error.modError');
$modx->getRequest();
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget('FILE');
Возможно, вот такой вариант сможет и из Console обработать любое количество ресурсов:
<?php
$field = $modx->getOption('videogallery_field_image');
// Сколько ресурсов обрабатывать за раз
$step = 1;
// Если процесс уже остановлен, сбрасываем OFFSET
if (!isset($_SESSION['Console']['completed'])) {
$_SESSION['console_offset'] = 0;
}
$offset = isset($_SESSION['console_offset']) && $_SESSION['console_offset'] ? $_SESSION['console_offset'] : 0;
$q = $modx->newQuery('modResource');
$q->innerJoin('modTemplateVarResource', 'modTemplateVarResource', 'modTemplateVarResource.contentid = modResource.id');
$q->innerJoin('modTemplateVar', 'modTemplateVar', 'modTemplateVar.id = modTemplateVarResource.tmplvarid');
$q->select(array(
'modResource.id as resource_id',
'modTemplateVar.id as tv_id',
'modTemplateVar.name as tv_name',
'modTemplateVarResource.value as tv_value',
'modTemplateVarResource.id as id',
));
$q->where(array(
'modTemplateVar.type' => 'videoGallery',
));
// Подсчитываем общее количество
$total = $modx->getCount('modResource', $q);
// Пропускаем все уже обработанные объекты
$q->limit($step, $offset);
$q->prepare();
$q->stmt->execute();
$rows = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {
// print_r($row);
$data = $modx->fromJSON($row['tv_value']);
if (is_array($data) && isset($data['video'])) {
$old['fileurl'] = $data['image'];
$old['filepath'] = str_replace(MODX_ASSETS_URL, MODX_ASSETS_PATH, $old['fileurl']);
$resp = $modx->runProcessor('gallery/handle', array(
'resource' => $row['resource_id'],
'tv' => $row['tv_id'],
'video' => $data['video'],
), array('processors_path' => MODX_CORE_PATH . 'components/videogallery/processors/mgr/'));
$resp = $resp->response;
// print_r($resp['object']['image'].PHP_EOL);
if ($resp['success']) {
if ($resource = $modx->getObject('modResource', array('id' => $row['resource_id']))) {
$resource->setTVValue($row['tv_name'], $resp['object']['json']);
$resource->save();
// Если в настройках указано поле для хранения изображений - сохраним в него новый путь до картинки
if ($field) {
if (stristr($field, 'tv.')) {
$resource->setTVValue(str_replace('tv.', '', $field), $resp['object']['image']);
} else {
$resource->set($field, $resp['object']['image']);
}
$resource->save();
}
// Удалим старое изображение
if (file_exists($old['filepath']) && $old['fileurl'] != $resp['object']['image']) {
@unlink($old['filepath']);
}
}
}
}
}
// Меняем offset
$_SESSION['console_offset'] = $offset + $step;
if ($_SESSION['console_offset'] >= $total) {
$sucsess = 100;
$_SESSION['Console']['completed'] = true;
unset($_SESSION['console_offset']);
} else {
$sucsess = round($_SESSION['console_offset'] / $total, 2) * 100;
$_SESSION['Console']['completed'] = false;
}
for ($i=0; $i<=100; $i++) {
if ($i <= $sucsess) {
print '=';
} else {
print '_';
}
}
print "\n";
print $sucsess.'% ('.$_SESSION['console_offset'].')'."\n\n";
Спасибо!!! Все работает!!!
Тоже пользуюсь Vimeo (в основном). Попробовал обновление всех превьюшек скриптом. Возник один вопрос. Илья, подскажи пожалуйста, кеш ресурса вроде не сбрасывается при этом обновлении?
У меня установлен ContentBlocks. Вчера прошелся по ресурсам через Консоль скриптом и заметил (не факт что это связано) что все что было в трех контекстах где есть поле videoGallery осталось с контентом только в кеше. Причем текст остался доступен для редактирования через quickupdate, но если полностью открыть для редактирования- контент пуст. Кеш у ContentBlocks отдельный. И что «забавно», сохранение в режиме quickupdate ни к чему не приводит- т.е. при переходе в режим нормального редактирования контент пуст.
Еще раз повторю, я не связываю возможное затирание контента с обновлением превьюшек, но вот вопрос в том может ли быть это связано? Конечно попробую сделать резервную копию и помучать все повторно.
У меня установлен ContentBlocks. Вчера прошелся по ресурсам через Консоль скриптом и заметил (не факт что это связано) что все что было в трех контекстах где есть поле videoGallery осталось с контентом только в кеше. Причем текст остался доступен для редактирования через quickupdate, но если полностью открыть для редактирования- контент пуст. Кеш у ContentBlocks отдельный. И что «забавно», сохранение в режиме quickupdate ни к чему не приводит- т.е. при переходе в режим нормального редактирования контент пуст.
Еще раз повторю, я не связываю возможное затирание контента с обновлением превьюшек, но вот вопрос в том может ли быть это связано? Конечно попробую сделать резервную копию и помучать все повторно.
Ну, в скрипте контент ресурса не затрагивается, так что вряд ли связано со скриптом. Но я с ContentBlocks не работал, так что точно сказать не могу…
Спасибо. Понимаю, компонент не всеми востребован и для наших соотечественников он явно не в «той» ценовой категории. Кстати modmore.com для разработчиков бесплатно его дают тестить.
Единственное обстоятельство, отчего я связываю два события- это контекстов у меня более 5ти, в двух нет совсем полей videoGallery — и контент не пострадал, а в трех есть связанные через Babel ресурсы, везде есть заглавное видео и текстовый контент. ContentBlocks использую во всех ресурсах. Проблема только в контекстах где и ContentBlocks и videoGallery вместе.
Скорее я пишу это на случай если у кого то такая же ситуация возникнет. Буду разбираться.
Единственное обстоятельство, отчего я связываю два события- это контекстов у меня более 5ти, в двух нет совсем полей videoGallery — и контент не пострадал, а в трех есть связанные через Babel ресурсы, везде есть заглавное видео и текстовый контент. ContentBlocks использую во всех ресурсах. Проблема только в контекстах где и ContentBlocks и videoGallery вместе.
Скорее я пишу это на случай если у кого то такая же ситуация возникнет. Буду разбираться.
А у меня ни чего не терялось. Обновилось все без ошибок. Но контент обычный, ни каких ContentBlocks не использую.
Благодарю!
Почему то вигурные скопки в БД пишутся
<code>
{
}
</code>
Доступ запрещен пишет при добавлении ссылки www.youtube.com/watch?v=7-FjEtGm_o4 в переменную шаблона.
Есть какая нить инструкция по получению API ключа? Русская
Есть какая нить инструкция по получению API ключа? Русская
Да вот вроде нормальная инструкция — a-panov.ru/youtube-api-v3-api-key/
Здравствуйте уважаемые!
Установил компонент videoGallery.
Добавил дополнительное поле «video» с типом ввода «videoGallery»
Создал ресурс (документ) и вставил в него ссылку на видео YouTube через дополнительное поле «video» (в привьюшке отображается и картинка и видео).
Создал чанк «videoBlog»
Fenom выдает «Видео нет».
Помогите пожалуйста советом, что я делаю не так?
Установил компонент videoGallery.
Добавил дополнительное поле «video» с типом ввода «videoGallery»
Создал ресурс (документ) и вставил в него ссылку на видео YouTube через дополнительное поле «video» (в привьюшке отображается и картинка и видео).
Создал чанк «videoBlog»
{set $video_json = json_decode($_modx->resource.video, true)}
{if $video_json.video?}
<div><img src="{$video_json.image}" /></div>
<iframe width="860" height="650" src="{$video_json['video']}" frameborder="0" allowfullscreen></iframe>
{if $video_json.title?}
<div><b>Название:</b> {$video_json.title}</div>
{/if}
{if $video_json.desc?}
<div><b>Описание:</b> {$video_json.desc}</div>
{/if}
{else}
Видео нет
{/if}
Вызываю со страницы так[[!pdoResources?
&parents=`15`
&includeContent=`1`
&tpl=`videoBlog`
]]
Fenom выдает «Видео нет».
Помогите пожалуйста советом, что я делаю не так?
Убрать:
{set $video_json = json_decode($_modx->resource.video, true)}
т.к. в pdoResources уже идёт распаковка из JSON.
Урааа получилось!!! Вобщем Помог вариант
Всем спасибо!!!
Василий Наумкин 10 сентября 2015, 14:36 # ↑ +1Отключил в pdoResources декодирование JSON и дальше все по мануалу. И все заработало.
И у pdoResources можно отключить декодирование JSON, если нужно — параметр &decodeJSON=`0`
Всем спасибо!!!
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Это сообщение было удалено
Всмысле «вопрос закрыт»? Этот топик создавался не для твоего вопроса.
Уважаемые модераторы, почистите, пожалуйста, данный топик от кучи флуда.
Уважаемые модераторы, почистите, пожалуйста, данный топик от кучи флуда.
Готово.
Спасибо за компонент. Все установил на сайт. Видеогалерея работает. Сейчас стилизую и аякс вывод делаю.
Круто!
Круто!
Пожалуйста. Но. Егор, честное слово, уже не первый раз лично я обращался к Павлу и всегда получал максимальное понимание. Имей больше такта и вежливости, в этом мире мы все равны и не особо друг другу обязаны.
Вам повезло. Я ничем его не оскорбил.
Установил данный компонент, но при указании ссылки в доп поле выскакивает сообщение «Неудалось обработать ответ от сервера. Попробуйте вставить ссылку на видеоролик заново.» ключик ютуб в настройках указан. Что делаю не так?
А без ключа парсит?
А без ключа парсит…
Спасибо
Спасибо
такая же фигня… без ключа парсит только id и emmber url/// а хотелось бы тайтл потянуть… Может кто-нибудь поможет???
Добрый день вот установил компонент для теста создал tv в ресурсе вставил ссылку все загрузилось как вывести видео на страницу подскажите действия
100 раз уже писали и обсуждали это. И даже в данной теме… поищите, почитайте…
создал чанк
{set $video_json = json_decode($_modx->resource.video, true)}
{if $video_json.video?}
<div><img src="{$video_json.image}" /></div>
<iframe width="860" height="650" src="{$video_json['video']}" frameborder="0" allowfullscreen></iframe>
{if $video_json.title?}
<div><b>Название:</b> {$video_json.title}</div>
{/if}
{if $video_json.desc?}
<div><b>Описание:</b> {$video_json.desc}</div>
{/if}
{else}
Видео нет
{/if}
вызываю[[!pdoResources?
&parents=`3431`
&includeContent=`1`
&tpl=`videog`
]]
но не чего не выводится
$_modx->resource.video — это поле текущего документа. Вам же надо получить поле документа из текущей итерации. Это делается подключением ТВ поля с видеороликом в выборку сниппета pdoResources через параметр includeTVs. Вы хотите, чтобы я вас обучал азам MODX? Хотя бы руководство какое почитали, чтоли…
поставь себе Videobox и закрой вопрос, видео можно ставить в любом месте!
Вы правы, для ленивых и не желающих разбираться Videobox лучше, в нем уже куча скриптов и оформление вывода есть, т.е. как в Joomla прямо) Но тем и хорош MODX, что все расширения предлагают только основу, которую надо допилить и получить то что надо себе.
videoGallery — полностью функционален когда к одному ресурсу нужно добавить одно видео. Сам использую его и очень доволен.
Для множества видео для одного ресурса есть хороший но платный ResVideoGallery (тоже использую).
С Videobox был отрицательный опыт, но не буду утверждать, что сейчас он такой же кривой как на момент выхода.
videoGallery — полностью функционален когда к одному ресурсу нужно добавить одно видео. Сам использую его и очень доволен.
Для множества видео для одного ресурса есть хороший но платный ResVideoGallery (тоже использую).
С Videobox был отрицательный опыт, но не буду утверждать, что сейчас он такой же кривой как на момент выхода.
недавно Videobox были обновления, всё супер: )
Я не спорю) Пусть так.
Вы наверно хорошо знаете как с ним работать. Вопрос, он какие поля парсит? Время, дату, описание, заголовок, превьюшку-картинку? Картинку какого размера/формата кстати?
Вы наверно хорошо знаете как с ним работать. Вопрос, он какие поля парсит? Время, дату, описание, заголовок, превьюшку-картинку? Картинку какого размера/формата кстати?
здесь подробно modx.com/extras/package/videobox
))) видел, спасибо, там очень не подробно как раз, думал вы по опыту подскажите.
Но если уже про подробно, то это тут и там же сообщается что он и для Joomla тоже, я этого раньше не видел, но очень идеологически это просматривалось, т.е. мне такое как раз не подходит, а вам самое то.
Но если уже про подробно, то это тут и там же сообщается что он и для Joomla тоже, я этого раньше не видел, но очень идеологически это просматривалось, т.е. мне такое как раз не подходит, а вам самое то.
зачем парить народ… не разобравшись! подробно здесь hitko.eu/videobox/getting-started#htk-videobox-for-modx
hitko.eu/videobox/adapters
hitko.eu/videobox/adapters
-
Что не разобравшись? Я вижу, что он и для MODX и для Joomla, а сделан именно идеологически по джумловски и говорю что все что делалось для Joomla (а я с ней знаком хорошо) мне не подходит, мне не нужны настолько готовые решения, что бы потом все сносить и делать свое. Вы видимо не понимаете о чем я. Ну да ладно. Предлагаю не продолжать.
PS вообще тут уместнее было бы говорить о расширении videoGallery, а не флудить.
Павел, извини, что-то полемика бестолковая вышла.
PS вообще тут уместнее было бы говорить о расширении videoGallery, а не флудить.
Павел, извини, что-то полемика бестолковая вышла.
Что бы наш флуд обрел смысл:
videoGallery
— позволяет парсить и записывать базу 1. продолжительность ролика, 2. видео урл, 3. изображение превью, 4. тайтл, 5. дескрипшн и т.п.
— поля можно указать\переопределить в настройках
______________
Videobox
не записывает в базу, просто выводит на страницах контент из различных медиахостингов
— системные настройки отсутствуют
videoGallery
— позволяет парсить и записывать базу 1. продолжительность ролика, 2. видео урл, 3. изображение превью, 4. тайтл, 5. дескрипшн и т.п.
— поля можно указать\переопределить в настройках
______________
Videobox
не записывает в базу, просто выводит на страницах контент из различных медиахостингов
— системные настройки отсутствуют
Привет. В консоли пытаюсь простую тв-ку получить, причем не от этого компонента, а простую, текстовую:
$page = $modx->getObject('modResource', 1689);
return $page->getTVValue('c_phone');
А получаю такие ошибки:[2017-01-09 16:11:34] (ERROR @ /home/s7686/www/core/model/modx/modx.class.php : 1611)
[OnTVOutputRenderList]
[2017-01-09 16:11:34] (WARN @ /home/s7686/www/core/cache/includes/elements/modplugin/14.include.cache.php : 5)
PHP notice: Undefined property: modX::$videogallery
[2017-01-09 16:11:34] (WARN @ /home/s7686/www/core/cache/includes/elements/modplugin/14.include.cache.php : 11)
PHP notice: Undefined index: mgr
[2017-01-09 16:11:34] (WARN @ /home/s7686/www/core/components/videogallery/model/videogallery/videogallery.class.php : 56)
PHP notice: Undefined property: videoGallery::$Tools
[2017-01-09 16:11:34] (WARN @ /home/s7686/www/core/components/videogallery/model/videogallery/videogallery.class.php : 84)
PHP notice: Undefined property: videoGallery::$Tools
Модикс последней версии, автор выручай)
Доступ к личку кидайте.
Добавил в скайпе… или почту напишите пожалуйста, туда скину
Установил данный компонент, но при указании ссылки в доп поле выскакивает сообщение «Неудалось обработать ответ от сервера. Попробуйте вставить ссылку на видеоролик заново.» ключ апи ютуба в настройках указан. Что делаю не так? Без ключа парсит только id и emmber url, а хотелось бы тайтл потянуть… Может кто-нибудь поможет???
Видимо некорректно указали ключ или неверно настроили доступ к ключу АПИ на стороне гугла.
Я так и понял — создал апи с 2-х аккаунтов- вставил в системные- никак(( На душе стало грустно…
а и кстати Павел, через https не работает — могу дать ссылку и доступ если интересно посмотреть.
Постоянно использую videoGallery
у меня работает, просто прописал где нужно https в ссылках и все
у меня работает, просто прописал где нужно https в ссылках и все
Добрый вечер! Подскажите пожалуйста как именно можно получить картинку от видео, которое загружено в тв определенного ресурса?
Куда после распарсивания сохраняется картинка видео?
Куда после распарсивания сохраняется картинка видео?
Насколько помню, вся «магия» в этом процессоре — github.com/gvozdb/videoGallery/blob/master/core/components/videogallery/processors/mgr/gallery/handle.class.php
Установил videoGallery, вставляю ссылку ютуб, в ответ тишина. Просто тишина, ни сохранить ни превьюшки глянуть ни чего либо еще. Modx последней версии.
Компонент отличный! Интересно, а можно ли сделать, чтобы к одному ресурсу можно было добавить, к примеру 4 видео? И чтобы они все обработались и выводились.
Всем доброго
С прописанным ключом от гугла признаков жизни не подает, пишет:
«Неудалось обработать ответ от сервера. Попробуйте вставить ссылку на видеоролик заново.»
Без ключа генерирует превьюху и в iframe корректная ссылка встает. У кого то есть мысли что я делаю не так?
С прописанным ключом от гугла признаков жизни не подает, пишет:
«Неудалось обработать ответ от сервера. Попробуйте вставить ссылку на видеоролик заново.»
Без ключа генерирует превьюху и в iframe корректная ссылка встает. У кого то есть мысли что я делаю не так?
Сегодня заметил такую вещь, ни с того ни с сего при попытке сохранить ресурс у которого есть ТВ типа videoGallery в консоль броузера пишется
vg-handler.js:107 [videoGallery] Неудалось распарсить JSON строку. Может это не JSON?
. Даже если поле оставить пустым. А если вставить ссылку на видео то превью там в ТВшке появляется, но в обоих случаях ресурс зависает на сохранении с ошибкамиtinymce.min.js:11 POST http://****/connectors/index.php 500 (Internal Server Error)
r.submit_patch.a.submit.nodeType.a.submit.length.a._mceOldSubmit.a.submit @ tinymce.min.js:11
doFormUpload @ ext-all.js:21
request @ ext-all.js:21
run @ ext-all.js:21
(anonymous) @ ext-base.js:21
setTimeout (async)
defer @ ext-base.js:21
doAction @ ext-all.js:21
submit @ ext-all.js:21
submit @ modx.jsgrps-min.js:4
handleClick @ modx.jsgrps-min.js:3
onClick @ ext-all.js:21
I @ ext-all.js:21
ext-all.js:21 Uncaught {message: "JsonReader.read: Json object not found"}
Людиии… У меня у первой при вставке ссылки пишет Video Id not valid? Причем десяток раз в системных настройках перепроверила названия полей… Для примера обычная ссылка, советский мультик www.youtube.com/watch?v=Gl1_uGW_Teo :)
А другие ссылки на ютуб норм обрабатывает? Только с этим роликом проблема?
«Ошибка сжатия» к videoGallery отношения не имеет…
Попробуйте без API ключа в настройках.
Попробуйте без API ключа в настройках.
Такая же ошибка. Причем образовалась на ровном месте. Никто в админку не заходил вообще. Ключ на месте. Удаляю ключ — всё работает (ну кроме получения данных о видео, конечно), с ключом — Video ID not valid.
Нашли решение? Такая же фигня((
Павел, привет. А возможно компонент подружить с MIGX? Уж очень не хватает этого)
Есть английский лексикон, но текст в нём продублирован с русского.
Я перевёл себе через translate.yandex.ru/ но хотелось бы из коробки.
Я перевёл себе через translate.yandex.ru/ но хотелось бы из коробки.
Но не всё забито в лексиконы. Главная фраза, из-за которой я полез переводить осталась жёстко вшита в tpl-файлах: joxi.ru/8An0eRQIzqzELm
Можешь отослать PR. Добавлю в следующую версию.
Доброе утро! При вставке ссылки на видео youtube, у 10-15% ресурсов не подгружается превью, написано «Нет изображения» так же выводится и на странице. скрин В чем может быть причина?
Не знаю, надо дебажить. Опишите, как это воспроизвести.
Проверьте на примере этого видео: https://www.youtube.com/watch?v=SQ-oYMDDlKA
У меня на нем не подгружается превью
У меня на нем не подгружается превью
Добрый вечер. Выставил в настройках в качестве поля, где будет путь к изображению ролика, доп. поле tv.tv_img. А оно у меня привязано к источнику файлов Images, имеющему basePath и baseUrl assets/img/.
В итоге к ссылке на изображение, которая формируется компонентом, впереди добавляется assets/img/ и на странице я получаю некорректный путь:
Решение пока нашел такое:
В итоге к ссылке на изображение, которая формируется компонентом, впереди добавляется assets/img/ и на странице я получаю некорректный путь:
assets/img//assets/videoGallery/5/8/cf6c950d0f7ffec246b741ea88a833d7.jpg
Я что-то неправильно делаю?Решение пока нашел такое:
<img src="{$_modx->resource.img | replace : "assets/img//" : ""}" alt="">
Тогда картинка выводится норм. Но может есть другое решение, как учесть basePath и baseUrl других источников файлов?
Почему то не подгружается название и описание к видео prntscr.com/lxcbxl
Добрый вечер. Не подскажете, как вывести продолжительность видео в секундах? Такой формат необходим для разметки Open Graph.
Распечатайте поле с массивом видео и гляньте.
{$_modx->resource.video | print}
Почему-то отказывается с ютуба парсить ролики, хотя год назад всё работало.
Чекнул файлик github.com/Pathologic/SimpleTube/blob/master/assets/snippets/simpletube/lib/Panorama/Video/Youtube.php
из исходников, он изменился, но если его заменить, то вместо ошибки Video Id not valid. выскакивает 500: Internal Server Error
ну а если точнее:
Чекнул файлик github.com/Pathologic/SimpleTube/blob/master/assets/snippets/simpletube/lib/Panorama/Video/Youtube.php
из исходников, он изменился, но если его заменить, то вместо ошибки Video Id not valid. выскакивает 500: Internal Server Error
ну а если точнее:
[error] 209#0: *1048 FastCGI sent in stderr: "PHP message: PHP Fatal error: Declaration of Panorama\Video\Youtube::__construct($url, array $options = Array) must be compatible with Panorama\Video\VideoInterface::__construct($url, $params = Array) in /www/core/components/videogallery/lib/Panorama/Video/Youtube.php on line 18" while reading response header from upstream,
Приветствую
Столкнулся с проблемой.
Плагин при парсинге роликов прописывает пути к ролику через http:/
Сайт использует https, и как результат видео не работает.
В настройках ничего нет.
Кто нибудь решал эту проблему?
Столкнулся с проблемой.
Плагин при парсинге роликов прописывает пути к ролику через http:/
Сайт использует https, и как результат видео не работает.
В настройках ничего нет.
Кто нибудь решал эту проблему?
Приветствую! У меня в продолжительность ролика попадают данные вида: PT02M07S
Что это за формат?
Что это за формат?
UDP: PT — не знаю что. 02M минуты 07S — сек. Не доперло изначально, думал что это за формат странный какой то XD.
{$videoDuration | replace : "PT" : "" | replace : "M" : ":" | replace : "S" : ""}
Изваял маленький скрипт, вытаскивающий кол-во просмотров
UPD: хотелось бы увидеть в новой обнове videoGallery возможность подтягивать просмотры с видеороликов.
if(!$videoid)
{
$output = 'Введите ID видео';
return $output;
}
$tpl = $modx->getOption('tpl', $scriptProperties, 'tpl.videoGallery.views');
$Youtube_API_KEY = $modx->getOption('videogallery_youtube_api_key');
$json = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=statistics&id=" . $videoid . "&key=". $Youtube_API_KEY );
$jsonData = json_decode($json);
$views = $jsonData->items[0]->statistics->viewCount;
$output = $modx->getChunk($tpl, array(
'views' => $views
));
return $output;
Мой первый скрипт. Возможно говнокод — но он работает XD.UPD: хотелось бы увидеть в новой обнове videoGallery возможность подтягивать просмотры с видеороликов.
Добрый вечер, Павел.
Возможно ли этот компонент использовать для создания функционала для добавления видеообзора в карточку товара (в галерею)?
Возможно ли этот компонент использовать для создания функционала для добавления видеообзора в карточку товара (в галерею)?
Также была ошибка «Не удалось обработать ответ от сервера», после переезда на другой хостинг, помогло изменение версии php с 7.2 на 7.3
Не появилась возможность добавления через MIGX?
где находится настройка пути к хранению превью?
Ранее работало все, а сейчас выдает
ERROR /home/c/cv08546/academy-kvant-psi.ru/core/components/pdotools/model/pdotools/pdotools.class.php 999
Unexpected token ':' in 76c458169bfd754d28bce3b6036afd55 line 13, near '{«video»:' < — there
ERROR /home/c/cv08546/academy-kvant-psi.ru/core/components/pdotools/model/pdotools/pdotools.class.php 999
Unexpected token ':' in 76c458169bfd754d28bce3b6036afd55 line 13, near '{«video»:' < — there
{set $video_json = json_decode($_modx->resource.video, true)}
{if $_modx->resource.video ?}
<div class="blog__img">
<div class="blog__video pos-relative">
<img src="{$video_json.image}" />
<a class="popup-icon vinobox-popup pos-absolute" data-autoplay="true" data-vbtype="video" href="{$video_json['video']}"><i class="lab la-youtube"></i></a>
</div>
</div>
{/if}
Прошу помощи.
Здравствуйте, как избравиться от ошибки при установке?
modAction support is deprecated since version 2.3.0. Support for modAction has been replaced with routing based on a namespace and action name. Please update the extra with the namespace videogallery to the routing based system.
modAction support is deprecated since version 2.3.0. Support for modAction has been replaced with routing based on a namespace and action name. Please update the extra with the namespace videogallery to the routing based system.
Это не ошибка, а предупреждение.
Для отключения такого рода предупреждений установите системную настройку log_deprecated в состояние Нет
Для отключения такого рода предупреждений установите системную настройку log_deprecated в состояние Нет
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.