Новый элемент меню checkbox
Добавлено: Сб янв 26, 2019 3:21 pm
Не хвотает данного элемента для меню, мне нужно отметить галочками несколько вариантов (например выбрать дни недели), добавьте кто-нибудь в MD этот элемент меню.
И как по вашему я смогу переключателем выбрать например 3 дня недели?lts писал(а): Пн янв 28, 2019 10:34 am а в чем проблема использовать элементы меню Switch, дергая выключатель,включать тот или иной день недели?
Если я правильно понял мысль ув.lts, в вашем случае должно быть, как минимум, 7 выключателей. Каждый выключатель устанавливает свойство для своего дня недели (0/1). Допустим, "понедельник", "среда" и "воскресенье" включены.krepton85 писал(а): Пн янв 28, 2019 11:09 am...
И как по вашему я смогу переключателем выбрать например 3 дня недели?
Код: Выделить всё
$day_num=(int)date('w');
if (gg('Объект.Понедельник') == "1" && $day_num == "1") {
//Какие-то действия
}
if (gg('Объект.Среда') == "1" && $day_num == "3") {
//Какие-то действия
}
if (gg('Объект.Воскресенье') == "1" && $day_num == "0") {
//Какие-то действия
}
А , уже понял, но это не красиво будет. 7 выключателей занимают массу места в меню. Если мне нужно 3 таких будильника для каждой розетки делать.Chainik писал(а): Пн янв 28, 2019 11:29 amЕсли я правильно понял мысль ув.lts, в вашем случае должно быть, как минимум, 7 выключателей. Каждый выключатель устанавливает свойство для своего дня недели (0/1). Допустим, "понедельник", "среда" и "воскресенье" включены.krepton85 писал(а): Пн янв 28, 2019 11:09 am...
И как по вашему я смогу переключателем выбрать например 3 дня недели?
Тогда в коде будет проверка 2-х условий ("включен" ли соответствующий день недели и равен ли текущий день недели "включенному"):Код: Выделить всё
$day_num=(int)date('w'); if (gg('Объект.Понедельник') == "1" && $day_num == "1") { //Какие-то действия } if (gg('Объект.Среда') == "1" && $day_num == "3") { //Какие-то действия } if (gg('Объект.Воскресенье') == "1" && $day_num == "0") { //Какие-то действия }
Тогда можете делать наподобие того, как здесь (https://www.ab-log.ru/forum/viewtopic.p ... 641#p30641). Но это несколько сложнее, т.к. вам надо будет использовать не стандартный выключатель, а свой html-элемент. Каждый день недели также будет иметь 2 состояния, и, соответственно, 2 иконки.krepton85 писал(а): Пн янв 28, 2019 12:05 pm ...
А , уже понял, но это не красиво будет. 7 выключателей занимают массу места в меню. Если мне нужно 3 таких будильника для каждой розетки делать.
Код: Выделить всё
<style type="text/css">
.gorizontalno {
display: inline-block
}
</style>
<legend>Расписание Розетки_1</legend>
<div class="gorizontalno">
<div style='display:%Розетка_1.Понедельник|"none;block"%' onClick='callMethod("%Объект.Метод_Пн");'><img src="\cms\scenes\Пн_выбран.png">Пн</div>
<div style='display:%Розетка_1.Понедельник|"block;none"%' onClick='callMethod("%Объект.Метод_Пн");'><img src="\cms\scenes\Пн_не_выбран.png">Пн</div>
</div>
<div class="gorizontalno">
<div style='display:%Розетка_1.Вторник|"none;block"%' onClick='callMethod("%Объект.Метод_Вт");'><img src="\cms\scenes\Вт_выбран.png">Вт</div>
<div style='display:%Розетка_1.Вторник|"block;none"%' onClick='callMethod("%Объект.Метод_Вт");'><img src="\cms\scenes\Вт_не_выбран.png">Вт</div>
</div>
Код: Выделить всё
<div style='display:%Розетка_1.Понедельник|"none;block"%' onClick='callMethod("%Объект.Метод_Пн");'><img src="\cms\scenes\Пн_выбран.png" width="24">Пн</div>Да, спасибо, наверное так и сделаю, но на выходных, слишком много времени займет, в фотошопе поработать. Нужно думаю на официальном сайте с этим интерфейсом зайти, в эмуляторе накидать кнопки, а затем заскринить их, дабы сохранить стиль меню.Chainik писал(а): Пн янв 28, 2019 3:24 pm Можно поступить проще:и т.д, вплоть до воскресенья.Код: Выделить всё
<style type="text/css"> .gorizontalno { display: inline-block } </style> <legend>Расписание Розетки_1</legend> <div class="gorizontalno"> <div style='display:%Розетка_1.Понедельник|"none;block"%' onClick='callMethod("%Объект.Метод_Пн");'><img src="\cms\scenes\Пн_выбран.png">Пн</div> <div style='display:%Розетка_1.Понедельник|"block;none"%' onClick='callMethod("%Объект.Метод_Пн");'><img src="\cms\scenes\Пн_не_выбран.png">Пн</div> <div style='display:%Розетка_1.Вторник|"none;block"%' onClick='callMethod("%Объект.Метод_Вт");'><img src="\cms\scenes\Вт_выбран.png">Вт</div> <div style='display:%Розетка_1.Вторник|"block;none"%' onClick='callMethod("%Объект.Метод_Вт");'><img src="\cms\scenes\Вт_не_выбран.png">Вт</div> </div>
В Объект.Методах у вас будет простейший код для изменения свойства соответствующего объекта на противоположное (было "0", стало -- "1" и наоборот). Т.е., например, "Объект.Метод_Пн" меняет свойство "Розетка_1.Понедельник".
Ширину иконок сделайте где-нибудь 24-26 пикселей, чтобы все 7 штук уместились в одной строке меню, либо подкорректируйте прямо в блоке <div>:Код: Выделить всё
<div style='display:%Розетка_1.Понедельник|"none;block"%' onClick='callMethod("%Объект.Метод_Пн");'><img src="\cms\scenes\Пн_выбран.png" width="24">Пн</div>
А зачем "скринить"? Берете любой графический редактор, рисуете "квадрат Малевича" любого цвета размером 32х32 пикселя. Гордо пишите по центру "Пн". И сохраняете. Затем сохраняете повторно, только в оттенках серого (типа "не выделен").