在Smarty中输出过滤器html_options

时间:2011-03-29 20:34:39

标签: smarty

我想在使用html_options生成html选项时使用string_format格式化输出。

例如,我正在尝试获得前导零的选项:

<select>
{$options=range(1,12)}
{html_options values=$options output=$options|string_format:'%02d'}
{/select}

这为第一个选项提供了预期的01,但其余为空白标签。这应该基于this page上的示例(在该页面上搜索'truncate'),所以我不确定我做错了什么。

1 个答案:

答案 0 :(得分:2)

不知何故,聪明的方法string_format不适用于数组。你可以做的是事先创建一个关联数组:

{section name=foo start=1 loop=13}
    {$options[$smarty.section.foo.index]=$smarty.section.foo.index|string_format:'%02d'}
{/section}

然后将其用作options代替valuesoutput

<select>
    {html_options options=$options}
</select>