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

Материал из ForkPlayer Wiki
Перейти к: навигация, поиск
(Метка: visualeditor)
(Метка: visualeditor)
Строка 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):

Cooltv.png


Все допустимые команды можно посмотреть в исходном коде страниц

https://github.com/alexkdpu/kino.pub_forkplayerPHP/blob/master/index.php

Смотреть Исходный код любой страницы можно непосредственно в ForkPlayer

VmGe53a9.png


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

?>