Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как сделать вывод плей листа через Доп.поле?

Как сделать вывод плей листа через Доп.поле?


     24.08.2017    Общие вопросы, Шаблоны (TPL), Общие вопросы по PHP, Ламерские вопросы    3151

вопрос
Всем доброго времени суток. Решил "запилить" у себя плеер с плейлистом,но столкнулся с рядом проблем.
Надеюсь поможете сэнсеи...

Суть: Вывод плеера заключается так
В нужном Вам месте располагаете себе плеер:
Это воспроизведение одного файла.

<script>
var player = new Playerjs({id:"player",file:"http://site.ru/file.mp4"});
    </script>

Это с плейлистом.

<script>
var player = new Playerjs({id:"player",file:"http://site.ru/playlist.txt"});
    </script>

Кишки плейлиста:

[{"title":"Серия1","file":"http://site.ru/x.mp4"},{"title":"Серия2","file":"http://site.ru/x.mp4"}]

Вопрос заключается в следующем. Как сделать плейлист через доп поле. Т.е не создавать txt файлы, а просто указал список ссылок в доп.поле и они автоматом вставились в плейлист. Если же самим создавать txt файлы (т.е плейлисты) проблема заключается в обновлении сериалов при выходе новых серий, уходит очень много времени для перезаписи playlist.txt .

Надеюсь описал всю суть проблемы...Если же знаете как исправить, помогите пожалуйста.

Ответил: Kroys


1.0 Открыть файл engine/modules/show.full.php

Найти
$tpl->set( '{full-story}', $row['full_story'] );


Добавить ниже
$data_playlist = xfieldsdataload( $row['xfields'] );
		
		if( !empty($data_playlist['playlist']) ) { // playlist <-- имя доп. поля
			$playlistyng = array();
			$array_playlist = explode("||", $data_playlist['playlist']);

			foreach ($array_playlist as $value) {
				$playl = explode("|", $value);
				$playlisting[] = "{'title':'" . $playl[0] . "','file':'" . $playl[1] . "'}";
			}

			$playlisting = implode(",", $playlisting);
			$playlisting = "[" . $playlisting . "]";

			$tpl->set( '{playlist}', $playlisting );
			$tpl->set( '[playlist]', "" );
			$tpl->set( '[/playlist]', "" );
		} else {
			$tpl->set( '{playlist}', "" );
			$tpl->set_block( "'\\[playlist\\](.*?)\\[/playlist\\]'si", "" );
		}


2.0 В шаблоне fullstory.tpl в нужное место прописать
[playlist]{playlist}[/playlist]


3.0 Содержимое доп. поля playlist (Тип поля: Несколько строк)
Серия 1|http://site.ru/1.mp4||Серия 2|http://site.ru/2.mp4|Серия 3|http://site.ru/3.mp4

6 комментариев

vitnet
PHP-developer

vitnet - 25 августа 2017 13:25 -

Вам нужен модуль / хак плейлистов типа этого:
1: ссылка
2: ссылка

Затем доставать ссылку и название как описано здесь

Набросал небольшой пример для show.full.php
$data_playlist = xfieldsdataload( $row['xfields'] );

if( !empty($data_playlist['playlist']) ) { // playlist <-- имя доп. поля
	$playlistyng = array();
	$array_playlist = explode("||", $data_playlist['playlist']);

	foreach ($array_playlist as $value) {
		$playl = explode("|", $value);
		$playlisting[] = "{'title':'" . $playl[0] . "','file':'" . $playl[1] . "'}";
	}

	$playlisting = implode(",", $playlisting);
	$playlisting = "[" . $playlisting . "]";

	echo $playlisting;
}

Содержимое доп. поля playlist
Серия 1|http://site.ru/x.mp4||Серия 2|http://site.ru/x.mp4

Kroys
Юзер

Kroys - 26 августа 2017 14:07 -

А вы не могли бы подсказать название этих модулей...Ищу, попадается один мусор.

vitnet
PHP-developer

vitnet - 2 сентября 2017 11:11 -

1.0 Открыть файл engine/modules/show.full.php

Найти
		$tpl->set( '{full-story}', $row['full_story'] );

Добавить ниже
Внимание! У вас нет прав для просмотра скрытого текста.

2.0 В шаблоне fullstory.tpl в нужное место прописать
[playlist]{playlist}[/playlist]

3.0 Содержимое доп. поля playlist (Тип поля: Несколько строк)
Серия 1|http://site.ru/1.mp4||Серия 2|http://site.ru/2.mp4|Серия 3|http://site.ru/3.mp4

Kroys
Юзер

Kroys - 2 сентября 2017 21:47 -

Спасибо Вам огромное!!Это то что мне нужно было!!

ali baba
Юзер

ali baba - 9 июня 2019 12:00 -

Здравствуйте, этот мод для 13.2 актуален? Чет, у меня не сработал.

summer1hp
Юзер

summer1hp - 31 июля 2020 18:48 -

Здравствуй, не подскажешь как модуль называется со скриншотов или что-то подобное .

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх