假设模板模型包含一个名为$myMap
的映射,其密钥在编译时是未知的。如果我的模板尝试使用{$myMap[$someValidKey]}
打印地图条目,一切都很好。但是,如果我尝试使用{$myMap[$someInvalidKey]}
进行打印,则模板无法呈现,而是抛出此错误:
In 'print' tag, expression "$myMap[$someInvalidKey]" evaluates to undefined.
如果该表达式未定义,即如何在地图中不存在这样的键,我怎么能告诉模板只是简单地打印?
答案 0 :(得分:2)
我刚刚确认你可以有条件地包装它:
{if $myMap[$someInvalidKey]}{$myMap[$someInvalidKey]}{/if}
答案 1 :(得分:2)
在未定义的情况下,您可以使用{$myMap[$someInvalidKey] ?: ''}
回退到不打印(空字符串)。