Страница 1 из 1
Анимированные гифы в стилях отображения датчиков
Добавлено: Вт дек 15, 2015 4:20 pm
lanket
В элементах сцен в стилях можно положить PNG картинки для отображения состояния выключателей, датчиков ...<br /><br />Очень хочется использовать анимированные гифы для наглядности и привлечения внимания.<br />МДМ не реагирует на ниличие гифов.<br />Где подправить код в МДМ чтобы он использовал гифы для отображения состояния датчиков и гифы тоже.
Отправлено с моего HM NOTE 1LTEW через Tapatalk
Re: Анимированные гифы в стилях отображения датчиков
Добавлено: Ср янв 13, 2016 10:11 pm
Sturgeon
Нет анимации или вообще не отображаются? В разных браузерах открывать страницу пробовали?
Re: Анимированные гифы в стилях отображения датчиков
Добавлено: Пт фев 26, 2016 10:59 pm
lanket
Sturgeon писал(а):Нет анимации или вообще не отображаются? В разных браузерах открывать страницу пробовали?
Спасибо что отозвались.
По работе был загружен сильно и было не до МДМ к сожалению.
В настройках сцен. Элементам можно задать значки отображения их в сценах.
Например для датчика движения сделать так чтобы когда он срабатывал на сцене он появился в виде лапы
Эти картинки и стили берутся из папки /папкаМДМ/cms/scenes/styles/типЭлемента
А для элементов типа warning беруться соответственно из /папкаМДМ/cms/scenes/styles/warning
и если туда накидать png файлов то они все отобразяться в выборе иконоок отображения элемента.
А gif пропускаются.
Ниже скриншот этой папки. А в первом скриншоте видно что gif не учавствует в этом празднике
Ну и браузер тут ни причем. На всякий случай попробовал.
Re: Анимированные гифы в стилях отображения датчиков
Добавлено: Пт фев 26, 2016 11:02 pm
lanket
Sturgeon писал(а):Нет анимации или вообще не отображаются? В разных браузерах открывать страницу пробовали?
Причем браузер тут точно ни причем говорит просмотор кода который генерит ПХП скрипт в нем нет упоминаний об гифах и дивы с содержанием картинок ровно столько сколько отобразившихся ПНГэшок
Re: Анимированные гифы в стилях отображения датчиков
Добавлено: Сб фев 27, 2016 7:52 am
Sturgeon
Хм. Тут сложнее. Я сначала подумал, что на уже готовых страницах не отображаются. А в этом случае надо пытать Сергея почему так происходит. Перед тем как копаться в коде, самый простой способ попробовать это поменять расширение у файлов с gif на png и посмотреть будут ли они в этом случае отображаться. У меня сейчас не установлен Мажордомо, не могу сам попробовать.
Re: Анимированные гифы в стилях отображения датчиков
Добавлено: Вс фев 28, 2016 1:28 am
lanket
Ну очень хочется.
Кто знает где в коде админки создается список картинок для выбора отображения элемента сцены.
Или кто знает в каком файле сценария это отрабатывается.
С анимацией сцены будут привлекательнее. Да и в случае срабатывания критических датчиков например утечки газа или задымления было бы актуально появиться анимированной иконки.
Re: Анимированные гифы в стилях отображения датчиков
Добавлено: Вс фев 28, 2016 12:24 pm
olehs
в htdocs\modules\scenes\sсenes.class.php гляньте.
не разбирался, но там есть упоминание png
Re: Анимированные гифы в стилях отображения датчиков
Добавлено: Вс фев 28, 2016 10:43 pm
lanket
olehs писал(а):в htdocs\modules\scenes\sсenes.class.php гляньте.
не разбирался, но там есть упоминание png
Вы прям мой спаситель.
Огромное спасибо.
Re: Анимированные гифы в стилях отображения датчиков
Добавлено: Пн фев 29, 2016 1:04 am
lanket
Мало ли кому пригодиться.
именно в этом файле строчка 1266
Код: Выделить всё
if (preg_match('/(.+?)\.png$/is', $entry, $m)) {
заменить на
Код: Выделить всё
if (preg_match('/(.+?)(\.png|\.gif)$/is', $entry, $m)) {
И начиная со строчки 1352 блок
Код: Выделить всё
if (is_array($styles_recs)) {
foreach($styles_recs as $k=>$v) {
if (!$styles_recs[$k]['IMAGE'] && file_exists($path.'/'.$v['TITLE'].'.png')) {
$styles_recs[$k]['IMAGE']=$type.'/'.$v['TITLE'].'.png';
}
if (!$styles_recs[$k]['IMAGE'] && file_exists($path.'/i_'.$v['TITLE'].'.png')) {
$styles_recs[$k]['IMAGE']=$type.'/i_'.$v['TITLE'].'.png';
}
if (!$styles_recs[$k]['IMAGE'] && file_exists($path.'/i_'.$v['TITLE'].'_on.png')) {
$styles_recs[$k]['IMAGE']=$type.'/i_'.$v['TITLE'].'_on.png';
}
}
}
Заменить на
Код: Выделить всё
if (is_array($styles_recs)) {
foreach($styles_recs as $k=>$v) {
if (!$styles_recs[$k]['IMAGE'] && file_exists($path.'/'.$v['TITLE'].'.png')) {
$styles_recs[$k]['IMAGE']=$type.'/'.$v['TITLE'].'.png';
}
if (!$styles_recs[$k]['IMAGE'] && file_exists($path.'/'.$v['TITLE'].'.gif')) {
$styles_recs[$k]['IMAGE']=$type.'/'.$v['TITLE'].'.gif';
}
if (!$styles_recs[$k]['IMAGE'] && file_exists($path.'/i_'.$v['TITLE'].'.png')) {
$styles_recs[$k]['IMAGE']=$type.'/i_'.$v['TITLE'].'.png';
}
if (!$styles_recs[$k]['IMAGE'] && file_exists($path.'/i_'.$v['TITLE'].'.gif')) {
$styles_recs[$k]['IMAGE']=$type.'/i_'.$v['TITLE'].'.gif';
}
if (!$styles_recs[$k]['IMAGE'] && file_exists($path.'/i_'.$v['TITLE'].'_on.png')) {
$styles_recs[$k]['IMAGE']=$type.'/i_'.$v['TITLE'].'_on.png';
}
if (!$styles_recs[$k]['IMAGE'] && file_exists($path.'/i_'.$v['TITLE'].'_on.gif')) {
$styles_recs[$k]['IMAGE']=$type.'/i_'.$v['TITLE'].'_on.gif';
}
}
}
Может грубовато но работает
Еще раз спасибо olehs