[Дизайн] Вывод свойств группы объектов
Добавлено: Пн фев 25, 2013 6:49 pm
Работая с меню и домашними страницами столкнулся с тем, что время от времени возникает необходимость вывести значение свойств группы объектов. Например, состояние всех датчиков температуры. В общем, это не большая проблема, но при добавлении новых датчиков нужно их прописывать в соответствующие пункты меню и страницы. Решил, что было бы хорошо иметь возможность вывести "скопом" все показания и для этого я сделал следующее...
Итак, добавилась возможность вывода объектов определённого класса (можно использовать в HTML-блоках меню, Домашних страниц или Сцен):
-- будут выведены имена и описания объектов класса className
-- будут выведены данные с использованием заданного шаблона вывода.
Шаблон вывода -- это код, который будет использован для вывода каждого найденного объекта указанного класса. В шаблоне можно использовать ключевые слова, совпадающие с именами свойств объектов. Для выделения ключевых слов они обрамляются символом '#' с обеих сторон.
Если шаблон вывода не указан (как в первом случае), то используется заданный по-умолчанию шаблон:
т.е. по сути вызов с пустым значением атрибута code соответствуюет следующему:
Ещё примеры.
Вывод значения температуры всех датчиков, являющихся объектами класса tempSensors:
Вывод графиков этих же датчиков:
Внимание: при установке значения атрибута code нельзя использовать двойные кавычки.
Итак, добавилась возможность вывода объектов определённого класса (можно использовать в HTML-блоках меню, Домашних страниц или Сцен):
Код: Выделить всё
[#module name="objects" class="className"#]
Код: Выделить всё
[#module name="objects" class="className" code="<шаблон вывода>"#]
Шаблон вывода -- это код, который будет использован для вывода каждого найденного объекта указанного класса. В шаблоне можно использовать ключевые слова, совпадающие с именами свойств объектов. Для выделения ключевых слов они обрамляются символом '#' с обеих сторон.
Если шаблон вывода не указан (как в первом случае), то используется заданный по-умолчанию шаблон:
Код: Выделить всё
#title# <i>#description#</i><br/>
Код: Выделить всё
[#module name="objects" class="className" code="#title# <i>#description#</i><br/>"#]
Вывод значения температуры всех датчиков, являющихся объектами класса tempSensors:
Код: Выделить всё
<ul>
[#module name="objects" class="tempSensors" code="<li>#title#: #temp#°C (обновление: #updatedTime#)</li>"#]
</ul>
Код: Выделить всё
[#module name="objects" class="tempSensors" code="<p><img src='/pChart/?p=#title#.tempOutside&type=12h&width=280>ype=curve&px=15&%rand%'></p>"#]