如何使用smarty模板获取特定的数组索引

时间:2012-03-19 14:38:25

标签: php smarty

嗨我正在oxid-esales开发一个模块。它使用聪明的模板。现在我想获得一个特定的数组索引。我的代码看起来像

[{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 个答案:

答案 0 :(得分:1)

尝试更改默认的智能分隔符。 例如:

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

请参阅http://www.smarty.net/docsv2/en/language.escaping.tpl