I have an associative array assigned to a Smarty variable, something like this:

$foo = array('my[content][hello]' => 'hello', 'my[content][goodbye]' => 'goodbye', ...

In the template file, how do I access hello? This fails:

{$foo.my[content][hello]}

My guess it that is fails because the brackets means I'm trying to access parts of an array. In this case, I'm not. The brackets are just part of the variable name. Thoughts?

有帮助吗?

解决方案

try

{$foo.{'my[content][hello]'}}

or

{$foo['my[content][hello]']}

or (if all else fails [meaning you're still on Smarty2]):

{assign var=key value='my[content][hello]'}
{$foo.$key}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top