Антон

Антон

С нами с 26 ноября 2018; Место в рейтинге пользователей: #2269
Антон
26 ноября 2018, 15:33
0
Добрый день.
Столкнулся с такой же проблемой. Если кратко, то решение: обращением к сниппету через чанк.

Если чуть более подробно, то суть проблемы в том, что в сниппет попадает не значение переменной day-num, а строка с названием переменной.

В этом можно убедиться, если в сниппете написать:
echo $day-num; exit;
Тогда мы реально видим, что пришло. В вашем случае окажется что $day-num = [[+$day-num]], и естественно, что никакие математические операции с ней не возможны. Получается сначала срабатывает сниппет, а потом pdo заменяет переменные [[+…]] на их значения.

Если же создать чанк (например daynum_class) и обратиться из него к снипету dismenu. Тело чанга:
[[dismenu? &daynum=`[[+day-num]]`]]
А из pdoMenu обратиться к чангу:
[[pdoMenu? &parents=`219`
                    &level=`1`
                    &includeTVs=`day-num`
                    &rowClass `daynum_class`
                    ]]
То это будет работать. Есть еще вариант обратиться через файл:
&rowClass `@FILE resources/mychank.tpl`
Но этот вариант не проверял.
В приведенный выше примерах с TV я так понял пытаются через API по имени переменной из сниппета узнать ее значение. На мой взгляд это не лучшее решение.