2

假设模板模型包含一个名为的映射$myMap,其键在编译时是未知的。如果我的模板尝试使用 打印地图条目{$myMap[$someValidKey]},一切都很好。但是,如果我尝试使用 打印{$myMap[$someInvalidKey]},则模板无法呈现,而是抛出此错误:

In 'print' tag, expression "$myMap[$someInvalidKey]" evaluates to undefined.

如果该表达式未定义,即地图中不存在这样的键,我如何告诉模板不打印任何内容?

4

2 回答 2

3

我刚刚验证您可以有条件地包装它:

{if $myMap[$someInvalidKey]}{$myMap[$someInvalidKey]}{/if}

于 2014-10-15T19:59:58.487 回答
2

在未定义的情况下,您可以使用{$myMap[$someInvalidKey] ?: ''}回退到不打印任何内容(空字符串)。

于 2015-04-05T21:09:25.297 回答