В шаблонах 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] ?: ''} вернуться к печати ничего (пустая строка) в случае, если это не определено.

Другие вопросы по тегам