не работает индекс массива с переменными smarty

Я создал переменную массива в .php файле

лайк

$arImagePath[TE] = 'XYZ';

в моем .tpl
{$carnumber} дает «Т» и {$carinitial} дает «Е».

Я пытаюсь получить значение «XYZ» следующим образом

{$arImagePath[{$carnumber}+{$carinitial}]}

Я пробовал много комбинаций, все еще недоступных, чтобы получить значение массива.

умная версия -2.6.26

Надеюсь на любую помощь.

1

Решение

От документация (Smarty v2):

{$ Foo [бар]} <- синтаксис действителен только в цикле раздела, см. {section}

Итак, если вы хотите получить прямой доступ к переменной массива и не находитесь в цикле, вы должны сделать это следующим образом:

{$ Foo.bar} <- отобразить значение ключа «bar» массива, аналогично
PHP $ foo [‘bar’]

Теперь, чтобы заархивировать то, что вам нужно:

// This assingment could change dinamically
{assing var="carnumber" value="T"}
{assing var="carinitial" value="E"}
// For the sake of clarity I'm going to concat in one variable the above ones
{assing var="index" value=$carnumber|cat:$carinitial}

//Now access the array at the index we need
{$arImagePath.$index} // XYZ
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]