Форум / Плагины / Сниппет для генерации плейлистов для MODX CMF (Evo/Revo)
I. Описание.

Сниппет позволяет формировать плейлисты для плеера Uppod из ряда ресурсов-ссылок. В каждом ресурсе должны быть заполнены поля "Заголовок" и "ссылка".

Установка.

1. Создаём новый сниппет через панель управления сайтом.
2. Называем его uppodPlayList.
3. Вставляем код. Сохраняем.
Код сниппета для MODX Evolution:

<?php
// Returns UPPOD playlist
$id = isset($_GET['album'])?intval($_GET['album']):intval($modx->getPlaceholder('id'));
$items = $modx->getActiveChildren($id,'menuindex','ASC','pagetitle,content');
$_RET = '{"playlist":[';
foreach($items as $val){
$_RET.= '{"comment":"'.$val['pagetitle'].'","file":"'.$val['content'].'"}';
}
$_RET.= ']}';
return str_replace('}{','},{',$_RET);
?>

Код сниппета для MODX Revolution:

<?php
$_getFrom = 0;
if (isset($getFrom)) if (intval($getFrom) > 0) $_getFrom = intval($getFrom);
if ($_getFrom==0) if (isset($_GET['album'])) $_getFrom = intval($_GET['album']);
if ($_getFrom!=0) {
$ret = '{"playlist":[';
$q = $modx->newQuery('modResource');
$q->where(array('parent'=>$_getFrom));
$r = $modx->getCollection('modResource',$q);
foreach($r as $song) {
$ret.= '{"comment":"'.$song->get('pagetitle').'","file":"'.$song->get('content').'"}';
}
$ret.= ']}';
} else { $ret = '{"error":"404"}'; }
return str_replace('}{','},{',$ret);

4. PROFIT!

Использование.

1. Создаём новый ресурс. Важно! Из всех флагов оставить только "публиковать" и "очистить кэш"!
2. Тип содержимого — text/plain для Evolution или JSON для Revolution
2. Устанавливаем шаблон "_blank" (пустой).
3. Содержимым ресурса должен быть следующий код:
Для Evolution
[!uppodPlayList!]

Для Revolution
[[!uppodPlayList]]

4. Сохраняем файл.

Параметров сниппет не содержит. ID ресурса-папки со ссылками передаётся через GET-массив при помощи параметра plfolder. То есть, если генератором плейлистов является ресурс getplaylist.js в корне сайта, тогда адресом плейлиста для папки с ID 23 будет строка
/getplaylist.js?album=23


Пример загрузки плейлиста в шаблоне документа-папки (для MODX Evolution):

<div id="audioplayer"></div>
<script type="text/javascript">
var flashvars = {
"st":"http://yoursite.com/assets/uppod/style.txt",
"pl":"http://yoursite.com/getplaylist.js?album=[*id*]"
};
var params = {
bgcolor:"#41000",
wmode:'transparent',
allowScriptAccess:"always",
id:"audioplayer"
};
new swfobject.embedSWF("http://yoursite.com/assets/uppod/player.swf","audioplayer","250","244","9.0.115.0",false,flashvars,params);
</script>


Естественно папка uppod, содержащая плеер и стили должна быть в этом случае в папке assets.

Пример прямого вывода плейлиста в шаблоне документа-папки:

<div id="audioplayer"></div>
<script type="text/javascript">
var flashvars = {
"st":"http://yoursite.com/assets/uppod/style.txt",
"pl":"[!uppodPlayList!]"
};
var params = {
bgcolor:"#41000",
wmode:'transparent',
allowScriptAccess:"always",
id:"audioplayer"
};
new swfobject.embedSWF("http://yoursite.com/assets/uppod/player.swf","audioplayer","250","244","9.0.115.0",false,flashvars,params);
</script>
XanderBassСсылка на пост (Смотрели 8013)16.02.12 17:08     Ответить
Ваше имя*
 E-mail* (не публикуется)
 
 
Если пишете о проблеме, то приложите, пожалуйста, ссылку на свой плеер отсюда — Плеер: Файл > Код > Ссылка
Вставка кода — [code][/code] дублировать ответы на e-mail
1
igor3310 14.10.12 - 17:09
А как формировать плейлисты для плеера Uppod из ряда ресурсов-ссылок не для МОДК а просто ПХП или джумла?
2
shubin-alt 17.03.13 - 13:14
А мне надо поставить проигрыватель на сайт, но с плейлистом из "Мой мир". Так как на сайте нет места для МР-3, а в "Моём мире" дают много памяти. Кто знает?
3
NSky 03.01.14 - 18:30
Скиньте кто нибудь пример я что то туго всасываю , что в итоге получается то?

Если в итоге тупо выводится плеер с плейлистом составленный из ресурсов то, можно было и без сниппета обойтись.
4
NSky 03.01.14 - 18:42
и кстати сниппет Ditto может в это помочь!
5
aix 12.12.14 - 22:30
Хочу сделать обычный плейлист с youtube, без всякого сниппета и никак немогу понять как это сделать, инфы много а нужной ноль, практических примеров бы побольше. Пмогите пожалуйста
Сообщить об ошибке на сайте
 Uppod © 2008–2017       Контактная информация   /  Соглашение  /  Twitter  /  Facebook
Сообщить об ошибке на сайте
Если ошибка относится к плееру, а не сайту, либо Вы хотите получить ответ на вопрос —
лучше написать на форуме