Как получить конкретный индекс массива с помощью шаблонов Smarty - PullRequest
0 голосов
/ 19 марта 2012

Привет, я разрабатываю модуль в Оксид-Эсалес . Это использует умные шаблоны. Теперь я хочу получить конкретный индекс массива. Мой код выглядит как

[{foreach from=$language item=lang}]
  <div id="stores">
   [{if !array_key_exists($lang->id,$language_array)}]
     <img src="[{$join_image}]" /> <input type="radio" name="sys_lang" id="sys_lang" />[{$lang->name}]
   [{else}]
    <img src="[{$join_image}]" /> [{$lang->name}] [{$language_array[$lang->id]}]
[{/if}]
 </div>
[{/foreach}]

Но это создает фатальную ошибку

Fatal error: Smarty error: [in froomerce_fconnect.tpl line 74]: syntax error: unrecognized tag: $language_array[$lang->id] (Smarty_Compiler.class.php, line 446) in D:\wamp\www\oxid_froomerce\core\smarty\Smarty.class.php on line 1093

Я искал и все, где правильный синтаксис для получения переменных в smary только ставит {} скобки. Но CMS оксид заставляет меня использовать [{}] для переменных. Любое тело, как я могу получить значение определенного индекса массива, как это

[{$language_array[$lang->id]}]

С уважением, Awais Qarni

1 Ответ

1 голос
/ 20 марта 2012

Попробуйте изменить разделители smarty по умолчанию. Например:

$smarty->left_delimiter = '[{';
$smarty->right_delimiter = '}]';

См. http://www.smarty.net/docsv2/en/language.escaping.tpl

...