У меня есть следующий цикл в Smarty:
{foreach from=$method.params key=name item=type}
<i style="font-weight: normal;">{$type}</i> {$name},
{/foreach}
Каков наилучший способ удалить запятую?
Я предпочитаю Twig, а не Smarty, поэтому я работаю с документами, но вот мой удар:
{assign var="comma" value=""}
{foreach from=$method.params key=name item=type}
{$comma}<i style="font-weight: normal;">{$type}</i> {$name}
{assign var="comma" value=", "}
{/foreach}
Вы можете сделать это также так:
{foreach from=$method.params key=name item=type name=myloop}
<i style="font-weight: normal;">{$type}</i> {$name}
{if not $smarty.foreach.myloop.last}, {/if}
{/foreach}
Вы также не упомянули, какую версию Smarty вы используете. Если вы используете Smarty 3 (который вы должны использовать, если это ваш выбор, вы должны использовать Smarty 3 foreach
стиль а не Smarty 2 foreach style).
РЕДАКТИРОВАТЬ
Как вы уже упоминали, вы используете Smarty 3, вам лучше использовать Smarty 3 foreach
Синтаксис таким образом:
{foreach $method.params as $name => $type}
<i style="font-weight: normal;">{$type}</i> {$name}
{if not $type@last}, {/if}
{/foreach}