Дизайн сцен 2

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

gnom537
Сообщения: 111
Зарегистрирован: Вт июн 17, 2014 1:06 pm
Откуда: нижний новгород
Благодарил (а): 5 раз
Поблагодарили: 12 раз

Re: Дизайн сцен 2

Сообщение gnom537 » Сб ноя 14, 2015 8:03 am

Уважаемый Vovix , а кодом не поделитесь? хотелось бы попробовать у себя пошаманить. заранее спасибо.
п.с. желательно с комментариями, для ну совсем не программиста, что куда положить.
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Дизайн сцен 2

Сообщение nick7zmail » Сб ноя 14, 2015 8:55 am

Очень даже неплохо) ждем код или экспорт)
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix » Сб ноя 14, 2015 9:54 am

спасибо за оценку! Код выложу, вот доделаю и выложу.... там у меня некоторые элементы с абсолютными адресами, логинами и паролями, т.к.страница, то больше всего сделана для внутреннего терминала!

И по ходу творчества, у меня появились идеи, некоторые из которых я реализовал :
Например, на каждой сцене у меня есть элемент general_CSS (only CSS) с размером 0х0, но который содержит только "Дополнительный код CSS" для всей Сцены (для всех элементов в одном месте)!
Тестирую такой вариант на удобство обслуживания и мне пока очень нравиться!

Кроме того сцены у меня получились, по настройке стилей, очень привязаны к ручной настройке, при импорте придется открывать элемент general_CSS (only CSS) и править под себя вручную все Классы .element_ID

P.S.
И вот gif-ка с экрана:
vovix2.gif
vovix2.gif (816.59 КБ) 18051 просмотр
За это сообщение автора Vovix поблагодарили (всего 4):
triada13 (Сб ноя 14, 2015 1:08 pm) • nikorde (Вс ноя 15, 2015 1:45 pm) • wozowik (Ср фев 14, 2018 8:44 pm) • tolyan2809 (Ср фев 09, 2022 2:30 pm)
Рейтинг: 4.65%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
eygen
Сообщения: 393
Зарегистрирован: Чт сен 25, 2014 5:37 pm
Откуда: Екатеринбург
Благодарил (а): 25 раз
Поблагодарили: 52 раза

Re: Дизайн сцен 2

Сообщение eygen » Сб ноя 14, 2015 10:18 pm

Красота!!!
rtroyakov
Сообщения: 109
Зарегистрирован: Сб июл 11, 2015 2:54 am
Откуда: Московская обл,город Ногинск
Благодарил (а): 27 раз
Поблагодарили: 6 раз

Re: Дизайн сцен 2

Сообщение rtroyakov » Вс ноя 15, 2015 11:55 pm

Господа,ночи доброй.Поможите чем можите .... У кого МегаД с сайта www.ab-log.ru..... Ситуация такова:никак не победю вывод температуры и влажности в информере на сцене мажордомо,точнее,вывести-то вывел,всё показывает,хорошо,а вот обновлялку значения никак не могу настроить.На каких условиях вывести отображение значений,как настроить элемент в сцене,интерфейсе,чтоб отображались корректные данные,обновлялись на сцене значения температуры и влажности?!
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix » Пт ноя 20, 2015 11:40 pm

Доброй ночи!
Сделал я тут одну задумку - а именно "Список дел (задач)" to do в общем!
сделал в виде сцены из моего ряда, хочу выложить сюда на суд (не пинайте сильно только).
вдруг кому пригодиться... хотя бы для самообразования...

Есть особенности установки:
1) Необходимо сделать класс, например: ToDo
2) Необходимо сделать в этом классе свойство: StreamingCode
3) Создать объект в этом классе: TodoList
4) Установить(импортировать) в удобное для вас место вашей сцены или в новую сцену файл с элементом сцены (приложен в конце с расширением .elements внутри архива)
5) Создать сценарий (скрипт) с именем todo_view и кодом:
СпойлерПоказать

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

$file = file("./texts/todo.txt");
$bc = 20;

$str_cod = '<div id="list">
               <form class="new">
                  <input id="newtask" placeholder="New Item (max 8)" type="text">
                  <button class="fa fa-plus" onClick="btnRunClicked();"></button>
               </form><!-- modified -->
               <div class="list">';

    for($i = 1; (($i < sizeof($file))&&($i < 9)); $i++) {
             // преобразуем строку в массив
             $arr1 = str_split($file[$i]);
             // выделим и сохраним первый символ
             $check = $arr1[0];
             // удалим первый символ из строки
             unset($arr1[0]);
             // преобразуем массив обратно в строку
               $task = implode('', $arr1);
             // начинаем формировать код
     $str_cod = $str_cod.'

               <div class="item" style ="background: rgba(223,'.($bc+$i*14).',31,0.9);">
               <input id="task_'.$i.'" type="text" value="'.$task.'"';
             // если певый символ "+" то значит задание "выполнено"
             if ($check == '+') {
                 $str_cod = $str_cod.' class="checked"';
             }
     
              $str_cod = $str_cod.'>
               <div class="rightblock">
                 <button id="check_'.$i.'" class="check fa fa-check" onClick="checkClicked('.$i.');"></button>
                 <button id="delete_'.$i.'" class="delete fa fa-times" onClick="deleteClicked('.$i.');"></button>
               </div>
            </div>';
    }
$str_cod = $str_cod.'
   </div>
</div>';

// записываем получившийся код

sg('TodoList.StreamingCode',$str_cod);
 
6) Создать сценарий (скрипт) с именем todo_new и кодом:
СпойлерПоказать

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

$file = file("./texts/todo.txt");
// если больше чем 1 строка то нужны перевод строки и ввод
// $z = (count($file) > 1) ? "\r\n" : "";
$z = "\r\n";
$fp = fopen("./texts/todo.txt", "a"); // Открываем файл в режиме записи 

$mytask = "-".$params['task'].$z; // строка задачи
$test = fwrite($fp, $mytask); // Запись в файл

if ($test) echo 'Данные в файл ToDo успешно занесены.';
else echo 'Ошибка при записи в файл ToDo.';

fclose($fp); //Закрытие файла

// выполним подготовку для отображения
rs ('todo_view');
 
7) Создать сценарий (скрипт) с именем todo_check и кодом:
СпойлерПоказать

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

$file = file("./texts/todo.txt");

if (isset($params['task'])) {
    $ct = $params['task'];

    for($i = 0; ($i < sizeof($file)); $i++) {
             // преобразуем строку в массив
             $arr1 = str_split($file[$i]);
             // выделим и сохраним первый символ
             $check = $arr1[0];
         // если совпадает номер строки 
         if ($i == $ct) {
              // инвентируем check
              $check = ($check == '+') ? '-' : '+';
            $arr1[0] = $check;
         }
             // преобразуем массив обратно в строку
             $file[$i] = implode('', $arr1);
         
    }
$fp = fopen("./texts/todo.txt", "w");
fputs($fp, implode('', $file));
fclose($fp);
 
}
// выполним подготовку для отображения
rs ('todo_view');
 
8) Создать сценарий (скрипт) с именем todo_delete и кодом:
СпойлерПоказать

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

$dt = $params['task']; // получаем номер строки на удаление
$file = file("./texts/todo.txt"); // Считываем весь файл в массив 

for($i = 0; $i < sizeof($file); $i++)
if($i == $dt) unset($file[$i]); 

$fp = fopen("./texts/todo.txt", "w");
fputs($fp, implode("", $file));
fclose($fp);

// выполним подготовку для отображения
rs ('todo_view'); 
9) Следует создать в Админ панели в пункте "Текстовые файлы" текстовый файл - с названием todo, можно пока пустой (лучше пока пустой), просто первое созданное задание будет не доступно, там можно написать, что угодно!
Т.е. все задачи будут храниться отдельными строками этого файла и с ними удобно работать стандартными средствами админ-панели!

В итоге у вас должно получиться примерно это:
to do1.jpg
to do1.jpg (85.96 КБ) 17866 просмотров
Вложения
Elements00-36-48.zip
(1.33 КБ) 435 скачиваний
Последний раз редактировалось Vovix Вс ноя 22, 2015 2:11 am, всего редактировалось 2 раза.
За это сообщение автора Vovix поблагодарил:
wozowik (Ср фев 14, 2018 8:45 pm)
Рейтинг: 1.16%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix » Пт ноя 20, 2015 11:43 pm

мне просто делать нечего было несколько ночей.... вот я и фигнёй страдал!
следующим этапом пойду изучать устройство модулей, на примере!

правда у модуля есть один минус, невозможность корректировать его тело стандартными средствами MDM!(мне так кажется)

А и еще: я долго это не тестировал еще...
За это сообщение автора Vovix поблагодарил:
wozowik (Ср фев 14, 2018 8:45 pm)
Рейтинг: 1.16%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Aleks130699
Сообщения: 103
Зарегистрирован: Чт ноя 19, 2015 5:33 pm
Благодарил (а): 7 раз
Поблагодарили: 8 раз

Re: Дизайн сцен 2

Сообщение Aleks130699 » Сб ноя 21, 2015 8:26 am

Vovix писал(а):мне просто делать нечего было несколько ночей.... вот я и фигнёй страдал!
следующим этапом пойду изучать устройство модулей, на примере!

правда у модуля есть один минус, невозможность корректировать его тело стандартными средствами MDM!(мне так кажется)

А и еще: я долго это не тестировал еще...
А когда вы выложите код сцены которая в этой теме? или если она уже где то есть,то дайте пожалуйста ссылочку. :D
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Дизайн сцен 2

Сообщение nick7zmail » Сб ноя 21, 2015 10:27 am

Vovix писал(а): правда у модуля есть один минус, невозможность корректировать его тело стандартными средствами MDM!(мне так кажется)
Что имеется ввиду под телом? Если сам исполнительный код - то его конечно нельзя корректировать. На то он и модуль). Но у модуля в настройках можно сделать условия в зависимости от которых он будет выполнять/не выполнять куски основного кода.
А если имелось ввиду конечное оформление - то его лучше закинуть в отдельный css, и там пользователям на откуп в templates_alt. Пусть делают что хотят)) Недавно как раз разбирался в теме модулей.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Аватара пользователя
Vovix
Сообщения: 1155
Зарегистрирован: Пн янв 27, 2014 1:43 am
Откуда: г.Ижевск
Благодарил (а): 60 раз
Поблагодарили: 532 раза
Контактная информация:

Re: Дизайн сцен 2

Сообщение Vovix » Сб ноя 21, 2015 5:02 pm

nick7zmail писал(а): ..... Недавно как раз разбирался в теме модулей.
Да я просто пока не разобрался (не разбирался) вот и "отмазываюсь"! :D

Ну а пока разве плохо получилось? Работает ведь!

Фича для Алисы - путем запуска нужного скрипта из моей четверки, можно управлять списком задач в любой момент, например, если нужно добавить задачу в лист to do, то достаточно вызвать скрипт "todo_new" с параметром - текстом задачи и задача будет добавлена. Аналогично с отметкой о выполнении и удалением (только там параметр = номеру строки задачи)!
За это сообщение автора Vovix поблагодарил:
wozowik (Ср фев 14, 2018 8:45 pm)
Рейтинг: 1.16%
Мой -CONNECT-
Windows 7(PHP 7.2) + Raspberry Pi(освещение на 1-Wire) + MP751(управление) + ESP8266(сенсоры) + LAN(сенсоры)
-=: Если вам помогло моё сообщение, нажмите кнопку "Поблагодарить за сообщение автора: Vovix" (кнопка Спасибо) справа! :=-
Ответить