Как прописать условия для мультисписка? Пробую так и не получается:
<?php if ($item['metka'] == 1) { ?> выбрано <?php } else { ?> не выбрано <?php } ?>
Условия переменных в шаблонах InstantCMS 2
Как прописать условия для мультисписка? Пробую так и не получается:
<?php if ($item['metka'] == 1) { ?> выбрано <?php } else { ?> не выбрано <?php } ?>
Гарри, а что у вас лежит внутри $item['metka'] — проверяли?
Make, я не знаю как проверить.
В настройках указаны такие значения:
1 | Значение 1
2 | Значение 2
Проверил.
Получилось сделать, но не до конца.
<?php Наш выбор <?php } else if ($item['metka'] == 00100) { ?> Наш выбор <?php } else { ?> Тест <?php } ?>
Почему-то срабатывают только 2 первых выбранных пункта(11000, 10000). С остальными напрочь не хочет работать. Условия прописывал по-разному и ни в какую, везде выводится «Тест».
Сейчас протестировал и заметил, что работает если выбран только 1 пункт(10000,11000, 101000 и т.д.) Если он не выбран, то все условия не срабатывают и выводится «Тест».
В чем может быть причина?
Проверил.
Получилось сделать, но не до конца.
<?php Наш выбор <?php } else if ($item['metka'] == 00100) { ?> Наш выбор <?php } else { ?> Тест <?php } ?>Почему-то срабатывают только 2 первых выбранных пункта(11000, 10000). С остальными напрочь не хочет работать. Условия прописывал по-разному и ни в какую, везде выводится «Тест».
Сейчас протестировал и заметил, что работает если выбран только 1 пункт(10000,11000, 101000 и т.д.) Если он не выбран, то все условия не срабатывают и выводится «Тест».
В чем может быть причина?
<?php echo "Наш выбор"; } else if ($item['metka'] == 100) { echo "Наш выбор"; } else { echo "Тест"; } ?>
Свои данные типа 01000 и 00100 подкорректируйте, так работать не будет. А переменную или массив лучше вардампом смотреть — https://www.php.net/manual/ru/function.var-dump.php
Это получается, что значения должны начинаться с 1, а все 0 перед ней стираться?
Ну да, желательно. Выдержка из статьи -
Нули в начале числа в языке PHP интерпретируются как указание системы счисления. Например, если число начинается с 0x, то оно считается шестнадцатеричным, а если с 0, то восьмеричным.
В случае с числом 00100, PHP будет интерпретировать его как восьмеричное число, где 100 — это 64 в десятичной системе. Если вы хотели использовать десятичную систему, то следует просто использовать число без нулей в начале: 100.
Поэтому, чтобы избежать неожиданных результатов и ошибок, рекомендуется не использовать нули в начале чисел в PHP, если вы не намерены использовать другие системы счисления.
Получилось сделать, но не до конца.
Я бы сначала посмотрел какого типа переменные находятся в $item['metka'], вдруг там строки?
или речь про это instantcms.ru/forum/kak-pravilno-vyvesti-pole-v-vidzhete-icms2.html ?)