[DASH] Как настроить свой блок?

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Ответить
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

[DASH] Как настроить свой блок?

Сообщение SmoKE_xDDD » Сб ноя 21, 2020 3:00 pm

В новом функционале появилась возможность генерировать свои "виджеты", пока только один.
Сейчас расскажу, что можно намутить:
screenshot.png
screenshot.png (38.88 КБ) 1685 просмотров
Для начала, как создать:
ИнструкцияПоказать
1. Создайте сценарий с именем: dash_my_block
2. Сценарий должен отдавать следующий JSON объект:

Код: Выделить всё

$array = array(
'status' => 1, //Выводить блок?
'name' => 'Супер блок', //Шапка блока
'reload' => true, //Автообновление блока
'reload_time' => 5, //Время автообновления
'data' => array(
'data' => 'Привет! Тут любой html!' //Данные
),
);
echo json_encode($array);
3. На этом все. Панель управления сама подхватит скрипт и выведет содержимое на главную страницу.
Конкретно в примере на фото используется вот такой код в сценарии:
СпойлерПоказать

Код: Выделить всё

$temp = round(gg('TempSensor_Bedroom.temperature'));
if($temp > 24) {
	$temp_color = '#51c451';
} else {
	$temp_color = '#e8cb38';
}

$array = array(
	'status' => 1,
	'name' => 'Супер блок',
	'type' => 'danger',
	'reload' => true,
	'reload_time' => 5,
	'data' => array(
		'data' => '<iframe style="height: 35px;border: 0px;width: 100%;" src="/popup/app_player.html"></iframe>',
	),
	'moreinfo' => array(
    		'Где Саша?' => gg('AAV.seenAt').'|color:red',
       		'Где Таня?' => gg('ATA.seenAt').'|color:green',
       		'Температура в спальне' => $temp.'|color:'.$temp_color,
    ),
);


echo json_encode($array);
Теперь пройдемся по параметрам:
'status' => 1, - включен функционал или нет
'name' => 'Супер блок', - название в шапке блока
'type' => 'danger', - цвет блока, может принимать: default, info, warning, danger, success
'reload' => true, - автоматом релодить контент, без перезагрузки (AJAX)
'reload_time' => 5, - время для автообновления
'data' => array(
'data' => '<iframe style="height: 35px;border: 0px;width: 100%;" src="/popup/app_player.html"></iframe>',
), - массив с данными для блока
'moreinfo' => array( - массив для вывода топ информации
'Название переменной' => 'содержимое|color:#HEX_COLOR',
За это сообщение автора SmoKE_xDDD поблагодарили (всего 10):
Sergey.Chek (Сб ноя 21, 2020 3:16 pm) • xor (Сб ноя 21, 2020 3:47 pm) • homester (Сб ноя 21, 2020 4:39 pm) • skysilver (Пн ноя 23, 2020 12:10 pm) • Jilber (Пн янв 25, 2021 10:53 am) • Molostov (Пн фев 15, 2021 11:41 pm) • Dasisfakt (Ср фев 17, 2021 7:19 am) • kas5858 (Сб апр 24, 2021 2:58 pm) • AndreyAA (Вт июл 13, 2021 9:13 pm) • odinvolk (Вс апр 30, 2023 3:21 am)
Рейтинг: 11.63%
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

Re: [DASH] Как настроить свой блок?

Сообщение SmoKE_xDDD » Пт мар 19, 2021 12:47 pm

Как вывести дополнительные кнопки на главную админки?

Создаем сценарий как описано выше и в него код:

Код: Выделить всё

$array = array(
	'status' => 1,
	'name' => 'Мои кнопочки',
	'type' => 'warning',
	'reload' => false,
	'reload_time' => 5,
	'data' => array(
		'data' => '
        	<a href="/" class="btn btn-default"><i class="glyphicon glyphicon-home"></i> Веб - страницы</a>
            <a href="/" class="btn btn-default"><i class="glyphicon glyphicon-edit"></i> Форум</a>
            <a href="/" class="btn btn-default"><i class="glyphicon glyphicon-hdd"></i> Конект</a>
        ',
	),
);


echo json_encode($array);
Ссылки заменить на свои
За это сообщение автора SmoKE_xDDD поблагодарили (всего 5):
andrey040670 (Пт мар 19, 2021 1:42 pm) • AK1 (Пт мар 19, 2021 2:40 pm) • Sergey.Chek (Пт мар 19, 2021 7:40 pm) • sorochan.ilya (Пт дек 10, 2021 2:06 pm) • odinvolk (Вс апр 30, 2023 3:21 am)
Рейтинг: 5.81%
Ответить