FXML: различия между версиями
| Mentos (обсуждение | вклад) Нет описания правки | Mentos (обсуждение | вклад) Нет описания правки | ||
| Строка 20: | Строка 20: | ||
| <br /> | <br /> | ||
| == Глобальные теги == | ==Глобальные теги== | ||
| $_PL["typeList"]="start"; // Плиточный + другой(с использованием $_CH["position"] ) виды страницы | |||
| $_PL["cacheinfo"]="nocache";  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу) | $_PL["cacheinfo"]="nocache";  // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу) | ||
| Строка 29: | Строка 31: | ||
| $_PL["confirm"]=["title"=>"Открыть вложенный CHannel?","channel"=>["playlist_url"=>"http://.."]]; | $_PL["confirm"]=["title"=>"Открыть вложенный CHannel?","channel"=>["playlist_url"=>"http://.."]]; | ||
| === cmd тег (как глобальный так и в playlist_url) - допустимые команды === | ===cmd тег (как глобальный так и в playlist_url) - допустимые команды=== | ||
| ==== Примеры использования '''cmd''' в глобальном теге ==== | ====Примеры использования '''cmd''' в глобальном теге==== | ||
| $_PL["cmd"]="historyback(1);"  // Вернуться назад на 1 страницу | $_PL["cmd"]="historyback(1);"  // Вернуться назад на 1 страницу | ||
| Строка 46: | Строка 48: | ||
| например $_PL["cmd"]="info(Доступ к этой странице Вам запрещен);stop();" выведет уведомление но оставить пользователя на предыдущей странице. | например $_PL["cmd"]="info(Доступ к этой странице Вам запрещен);stop();" выведет уведомление но оставить пользователя на предыдущей странице. | ||
| ==== Примеры использования '''cmd''' в $_CH["playlist_url"] ==== | ====Примеры использования '''cmd''' в $_CH["playlist_url"]==== | ||
| $_CH["playlist_url"]="cmd:<Команда из списка допустимых>"; | $_CH["playlist_url"]="cmd:<Команда из списка допустимых>"; | ||
| Например $_CH["playlist_url"]="reload();"; перезагрузит страницу при нажатии | Например $_CH["playlist_url"]="reload();"; перезагрузит страницу при нажатии | ||
| == Channel теги == | |||
| === title === | |||
| Заголовок | |||
| === playlist_url или stream_url === | |||
| Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов) | |||
| === logo_30x30 === | |||
| Адрес иконки | |||
| === menu - контекстное меню элемента === | |||
| $menu=[]; | |||
| $menu[0]=["title"=>"Контекстное меню1","playlist_url=>"http...""]; //  Аналог обычного $_CH | |||
| $menu[0]=["title"=>"Контекстное меню2","playlist_url=>"http...""]; //  Аналог обычного $_CH | |||
| $_CH["menu"]=$menu; | |||
| === position === | |||
| $_CH["position"]="fulleditline"; //- Поле ввода текста шириной почти на всю страницу | |||
| $_CH["position"]="hlist"; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне) | |||
| $_CH["position"]="list"; // -обычный вид списка шириной в половину экрана и с description справа | |||
| $_CH["position"]="label"; // -невысокая строка на всю ширину экрана | |||
| $_CH["position"]="bigtile"; // - Плитка увеличенной в 2 раза высоты (128х215px) | |||
| $_CH["position"]=""; // - Плитка обычного размера как в Стартовом меню (128х101px) | |||
| === location === | |||
| $_CH["location"]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки) | |||
| $_CH["location"]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии) | |||
| === after и before - свой html код после и перед элементом списка === | |||
| $_CH["before"]="<nowiki><div style='color:red;'>Текст перед элементом</div></nowiki>"; | |||
| $_CH["after"]="<nowiki><div style='color:red;'>Текст после элемента</div></nowiki>"; | |||
| <br /> | |||
| == Вывод результирующей страницы (на PHP) == | |||
| <?php | |||
| // Ваш код с наполнением массивов $_PL и $_CH информацией | |||
| $_PL["channels"]=$_CH; | |||
| print json_encode($_PL); | |||
| ?> | |||
| <br /> | |||
Версия от 20:33, 14 мая 2020
FXML (Fork eXtensible Markup Language) — язык разметки документов во Всемирной паутине. Для навигации по таким страницам не требуется мышь или сенсорный экран. Язык FXML интерпретируется такими приложениями как ForkPlayer, OTT Player, OTT-play. Полученный в результате интерпретации форматированный текст отображается на экране телевизора.
Например, следующий код (должен быть валидным JSON):
{"title":"COOLTV - портал нового поколения","background-image":"http://cooltv.info/img/tvcool.jpg","typeList":"start","icon":"http://cooltv.info/img/tvcool23.jpg","channels":[{"title":"Вход","logo_30x30":"http://cooltv.info/img/profle22.jpg","playlist_url":"http://cooltv.info/auth"},{"title":"Новости ","logo_30x30":"http://cooltv.info/img/rss-96.png","playlist_url":"http://cooltv.info/news"},{"title":"Поиск ","logo_30x30":"http://cooltv.info/img/icons8-search-folder-96.png","playlist_url":"http://cooltv.info/media/search.php"},{"title":"Кинозал ","logo_30x30":"http://cooltv.info/img/1icons8-film-reel-96.png","playlist_url":"http://cooltv.info/media"},{"title":"AceStream ","logo_30x30":"http://cooltv.info/img/icons8-wave-arrows-96.png","playlist_url":"http://cooltv.info/vdt/12"},{"title":"Обменник ","logo_30x30":"http://cooltv.info/img/icons8-next-100.png","playlist_url":"http://cooltv.info/media/obmen/"},{"title":"Сервисы ","logo_30x30":"http://cooltv.info/img/icons8s3-96.png","playlist_url":"http://cooltv.info/vdt/9"},{"title":"IPTV ","logo_30x30":"http://cooltv.info/img/icons8-hdtv-96.png","playlist_url":"http://cooltv.info/vdt/8"},{"title":"Мультимедиа ","logo_30x30":"http://cooltv.info/img/icons8-documentary-96.png","playlist_url":"http://cooltv.info/vdt/7"},{"title":"Чат ","logo_30x30":"http://cooltv.info/img/icons8-chat-96.png","playlist_url":"http://cooltv.info/guest"},{"title":"FAQ ","logo_30x30":"http://cooltv.info/img/icons8-info-popup-96.png","playlist_url":"http://cooltv.info/faq/"},{"title":"Копилка","logo_30x30":"http://cooltv.info/img/icons8-bad-piggies-96.png","playlist_url":"http://cooltv.info/copilka"}]}
даст такой результат (в ForkPlayer):

Все допустимые команды можно посмотреть в исходном коде страниц 
https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php
Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer

и FXML CMS
Глобальные теги
$_PL["typeList"]="start"; // Плиточный + другой(с использованием $_CH["position"] ) виды страницы
$_PL["cacheinfo"]="nocache"; // Не кешировать страницу (при возврате назад страница будет грузиться заново по адресу)
$_PL["setcookie"]["name1"]="value1"; // Аналог cookie вебсайтов. Запомнит для последующих запросов страниц с этого же домена в переменной $_GET["cookie"]["name1"] значение value1
$_PL["info"]="Вам уведомление"; // Показывает alert "Вам уведомление" с кнопкой ОК (закрыть)
$_PL["confirm"]=["title"=>"Открыть вложенный CHannel?","channel"=>["playlist_url"=>"http://.."]];
cmd тег (как глобальный так и в playlist_url) - допустимые команды
Примеры использования cmd в глобальном теге
$_PL["cmd"]="historyback(1);" // Вернуться назад на 1 страницу
$_PL["cmd"]="info(Вам уведомление);" // Показывает alert "Вам уведомление" с кнопкой ОК (закрыть)
$_PL["cmd"]="settitle(2, Новый заголовок);" // элементу 2 дать новый title
$_PL["cmd"]="setdescription(2, Новый заголовок);" // элементу 2 дать новый description
$_PL["cmd"]="reload(2);" // Перезагрузить страницу через 2секунды
В конец cmd к командам выше можно добавить stop(); чтобы выполнить команду выше и остановить загрузку новой страницы
например $_PL["cmd"]="info(Доступ к этой странице Вам запрещен);stop();" выведет уведомление но оставить пользователя на предыдущей странице.
Примеры использования cmd в $_CH["playlist_url"]
$_CH["playlist_url"]="cmd:<Команда из списка допустимых>";
Например $_CH["playlist_url"]="reload();"; перезагрузит страницу при нажатии
Channel теги
title
Заголовок
playlist_url или stream_url
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)
logo_30x30
Адрес иконки
$menu=[];
$menu[0]=["title"=>"Контекстное меню1","playlist_url=>"http...""]; // Аналог обычного $_CH
$menu[0]=["title"=>"Контекстное меню2","playlist_url=>"http...""]; // Аналог обычного $_CH
$_CH["menu"]=$menu;
position
$_CH["position"]="fulleditline"; //- Поле ввода текста шириной почти на всю страницу
$_CH["position"]="hlist"; // - горизонтальная ссылка (может быть несколько на одном горизонтальном уровне)
$_CH["position"]="list"; // -обычный вид списка шириной в половину экрана и с description справа
$_CH["position"]="label"; // -невысокая строка на всю ширину экрана
$_CH["position"]="bigtile"; // - Плитка увеличенной в 2 раза высоты (128х215px)
$_CH["position"]=""; // - Плитка обычного размера как в Стартовом меню (128х101px)
location
$_CH["location"]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)
$_CH["location"]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)
after и before - свой html код после и перед элементом списка
$_CH["before"]="<div style='color:red;'>Текст перед элементом</div>";
$_CH["after"]="<div style='color:red;'>Текст после элемента</div>";
Вывод результирующей страницы (на PHP)
<?php
// Ваш код с наполнением массивов $_PL и $_CH информацией
$_PL["channels"]=$_CH;
print json_encode($_PL);
?>