FXML: различия между версиями

Материал из Браузер Fork - Wiki
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 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 />

Версия от 21: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=[];

$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);

?>