В шаблонах Soy (Closure), как я могу напечатать выражение, которое может быть неопределенным во время выполнения?
Допустим, модель шаблона содержит карту под названием $myMap
чьи ключи неизвестны во время компиляции. Если мой шаблон пытается распечатать запись карты, используя {$myMap[$someValidKey]}
, Все хорошо. Однако, если я пытаюсь печатать, используя {$myMap[$someInvalidKey]}
шаблон не отображается и выдает эту ошибку:
In 'print' tag, expression "$myMap[$someInvalidKey]" evaluates to undefined.
Как я могу сказать шаблону просто ничего не печатать, если это выражение не определено, т.е. такого ключа нет на карте?
2 ответа
Я только что проверил, что вы можете условно обернуть его:
{if $myMap[$someInvalidKey]}{$myMap[$someInvalidKey]}{/if}
Ты можешь использовать {$myMap[$someInvalidKey] ?: ''}
вернуться к печати ничего (пустая строка) в случае, если это не определено.