2012-03-19 46 views
0

您好我正在開發oxid-esales模塊。它使用smarty模板。現在我想獲得一個特定的數組索引。我的代碼看起來像如何使用smarty模板獲得陣列的特定索引

[{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

+0

我不知道這樣的CMS,但是當你說 「CMS OXID強制我用​​'[{}]'變量」,究竟你是什麼意思? Smarty使用自己的語法並相應地解析模板自己的規則:分配對象的佔位符和調用方法中的子變量。 所以,當你在你的代碼中使用'[{}]' - 你期望什麼?你確定,你需要使用它們嗎? – 2012-03-19 22:11:17

+0

@ v2p感謝您的迴應..我的意思是,如果我們想要回顯或使用由我們的班級發送的php變量,我們使用'{}'在變量之外。但是在氧化中,我必須用'[]'來包裝'{''''。這是我得到錯誤的原因 – 2012-03-20 05:45:56

回答

相關問題