我希望对Smarty输出的产品名称列表进行排序。这是当前的代码:
{foreach from=$products key=i item=product}
<li>
<a href="discuss.php?product={$product.uri}
{if $filter_style}&style={$filter_style}{/if}">{$product.name|capitalize}
</a>
</li>
{/foreach}
HTML输出:
<li>zzzzz</li>
<li>qqqqq</li>
<li>ccccc</li>
<li>aaaaa</li>
如何分类A-Z?
答案 0 :(得分:1)
如果要在模板内而不是在分配数组的PHP中执行此操作,可以为数组编写自定义修饰符,在foreach循环中对其进行排序。有关示例,请参阅this blog post
答案 1 :(得分:1)
嗯,这是可能的,但这不是完美的解决方案:
{php}
sort($this->_tpl_vars['your_smarty_variable_name']);
{/php}
{foreach...
如果你想以聪明的方式做到这一点,那么编写一个聪明的插件会更容易(也更优雅)。
顺便说一句。不推荐使用smarty 3中的{php} {/ php}标签