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

Материал из ForkPlayer Wiki
Перейти к: навигация, поиск
(Метка: visualeditor)
(Channel теги)
(Метка: visualeditor)
Строка 53: Строка 53:
 
Например $_CH["playlist_url"]="reload();"; перезагрузит страницу при нажатии
 
Например $_CH["playlist_url"]="reload();"; перезагрузит страницу при нажатии
  
== Channel теги ==
+
==Channel теги==
  
=== title ===
+
===title===
 
Заголовок
 
Заголовок
  
=== playlist_url или stream_url ===
+
===playlist_url или stream_url===
 
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)
 
Адрес страницы или адрес видеопотока (непустым может быть только один из этих тегов)
  
=== logo_30x30 ===
+
===logo_30x30===
 
Адрес иконки
 
Адрес иконки
  
=== menu - контекстное меню элемента ===
+
===menu - контекстное меню элемента===
 
$menu=[];
 
$menu=[];
  
Строка 73: Строка 73:
 
$_CH["menu"]=$menu;
 
$_CH["menu"]=$menu;
  
=== position ===
+
===position===
 
$_CH["position"]="fulleditline"; //- Поле ввода текста шириной почти на всю страницу
 
$_CH["position"]="fulleditline"; //- Поле ввода текста шириной почти на всю страницу
  
Строка 86: Строка 86:
 
$_CH["position"]=""; // - Плитка обычного размера как в Стартовом меню (128х101px)
 
$_CH["position"]=""; // - Плитка обычного размера как в Стартовом меню (128х101px)
  
=== location ===
+
===location===
 
$_CH["location"]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)
 
$_CH["location"]=1; // Переход c заменой текущей ссылки окна на новую (при перезапуске форкплеера будет открываться уже с этой новой ссылки)
  
 
$_CH["location"]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)
 
$_CH["location"]=3; // Переход с отображением в текущем окне (при перезапуске форкплеера будет открываться старая ссылка и опять переадресовываться, необходимо если например используются устаревающие сессии)
  
=== after и before - свой html код после и перед элементом списка ===
+
===after и before - свой html код после и перед элементом списка===
 
$_CH["before"]="<nowiki><div style='color:red;'>Текст перед элементом</div></nowiki>";
 
$_CH["before"]="<nowiki><div style='color:red;'>Текст перед элементом</div></nowiki>";
  
 
$_CH["after"]="<nowiki><div style='color:red;'>Текст после элемента</div></nowiki>";
 
$_CH["after"]="<nowiki><div style='color:red;'>Текст после элемента</div></nowiki>";
<br />
 
  
== Вывод результирующей страницы (на PHP) ==
+
=== SetTimeInterval - отправка событий клиентом через интервал ===
 +
$_CH["SetTimeInterval"]=["time"=>1,"onmenu"=>"<nowiki>http://19onmenu</nowiki>","onplay"=>"<nowiki>http://19onplay</nowiki>"];
 +
 
 +
'''time''' - интервал между отправкой событий в минутах
 +
 
 +
'''onmenu -''' ссылка для отправки событий если пользователь находится в списке
 +
 
 +
'''onplay-''' ссылка для отправки событий если пользователь смотрит видео
 +
 
 +
Можно использовать один или два сразу тега onmenu и onplay<br />
 +
 
 +
==Вывод результирующей страницы (на PHP)==
 
<?php
 
<?php
  

Версия 02:05, 16 июля 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>";

SetTimeInterval - отправка событий клиентом через интервал

$_CH["SetTimeInterval"]=["time"=>1,"onmenu"=>"http://19onmenu","onplay"=>"http://19onplay"];

time - интервал между отправкой событий в минутах

onmenu - ссылка для отправки событий если пользователь находится в списке

onplay- ссылка для отправки событий если пользователь смотрит видео

Можно использовать один или два сразу тега onmenu и onplay

Вывод результирующей страницы (на PHP)

<?php

// Ваш код с наполнением массивов $_PL и $_CH информацией

$_PL["channels"]=$_CH;

print json_encode($_PL);

?>