2011-03-02 55 views
1

所以我想实现的是将多个值分配给我想要的索引上的smarty数组。很难形容它,所以我就表露出来:在smarty中分配关联数组

{assign var='paymentTypes' 
value=','|explode:"$paymentMethods[50],$paymentMethods[51], 
$paymentMethods[11],$paymentMethods[10],$paymentMethods[12], 
$paymentMethods[99],$paymentMethods[100]"} 

(格式化的可读性)

所以现在我有一个paymentTypes阵列放置在从0开始键的值,我想要保留在付款方法数组中的密钥 - 50,51,11 ..等

而且它必须完全在Smarty模板文件中完成。感谢您的任何想法。

回答

1

我找到了解决方法。所需的关联数组用于HTML Select标签。所以我只是用{html_options}的值和输出属性来代替选项。我为值分配了一个数组,另一个数组仅用于输出。

我有这样的:

{html_options options=$paymentTypes} 

但我不想显示所有从paymentTypes数组中的值的,但我不得不让他们在数组中。所以我做的是这样的:

{assign var='paymentTypesOutput' value=','|explode:"$paymentTypes[50], 
$paymentTypes[51],$paymentTypes[11],$paymentTypes[10],$paymentTypes[12], 
$paymentTypes[99],$paymentTypes[100]"} 

{assign var='paymentTypesValues' value=','|explode:"50,51,11,10,12,99,100"} 

{html_options values=$paymentTypesValues output=$paymentTypesOutput} 

这不是最优雅的解决方案 - 但它的工作原理。