Smarty: строковая переменная содержит скобки
У меня есть ассоциативный массив, назначенный переменной Smarty, что-то вроде этого:
$foo = array('my[content][hello]' => 'hello', 'my[content][goodbye]' => 'goodbye', ...
В файле шаблона, как получить доступ hello
? Это не удается:
{$foo.my[content][hello]}
Я думаю, что это не удается, потому что квадратные скобки означают, что я пытаюсь получить доступ к частям массива. В этом случае я не. Скобки являются лишь частью имени переменной. Мысли?
1 ответ
Решение
Пытаться
{$foo.{'my[content][hello]'}}
или же
{$foo['my[content][hello]']}
или (если все остальное терпит неудачу [имеется в виду, что вы все еще на Smarty2]):
{assign var=key value='my[content][hello]'}
{$foo.$key}