Язык шаблонов скорости: Соедините два условия в одном выражении #elseif()
В моем примере параметры:
$ p2.length
который имеет значение "0"
и логическое значение
$suspectYesNo, для которого установлено значение "false".
Я ожидаю, что в моем коде второй #elseif будет работать из-за моих установленных параметров, но, тем не менее, он показывает, что "Code 4 выполняется"
Я предполагаю, что моя ошибка заключается в соединении обоих условий с использованием "&&", но я понятия не имею, как правильно определить линию с двумя условиями.
Это подводит меня к вопросу: как правильно объединить два условия ($p2.length()==0) И ($suspectYesNo.value.contains("true")) в одном #elseif().
Или я правильно определил логическое значение?
#if($p2.length()>0)
Code 1 runs
#elseif($p2.length()==0 && $suspectYesNo.value.contains("true"))
Code 2 runs
#elseif($p2.length()==0 && $suspectYesNo.value.contains("false"))
Code 3 runs
#else
Code 4 runs
#end
1 ответ
Спасибо user7294900 за предоставленную мне ссылку, с помощью которой я смог решить проблему.
Он не считывал логическое значение как строку, которую можно исправить, добавив метод "toString()".
С этим кодом здесь все работает как надо:
#if($p2.length > 0)
Code 1 runs
#elseif($p2.length == 0 && $suspectYesNo.value.toString().contains("true"))
Code 2 runs
#elseif($p2.length == 0 && $suspectYesNo.value.toString().contains("false"))
Code 3 runs
#else
Code 4 runs
#end