Существует альтернативный метод, использующий свойство раздела .last.
{section name=i loop=$aColums}
{if $aColums[i].contshow eq 'y'}
{$aColums[i].Name}{if $smarty.section.i.last eq false}, {/if}
{endif}
{/section}
Это добавляет ',' после каждого выходного Имени - если это не последняя итерация {section}
. Я предполагаю, что в данных вашего массива $ aColums еще нет запятых.
У вас также есть другой вариант - перегенерировать эту строку в PHP с помощью implode:
$aColumsString = implode(', ', $aColums);
$smarty->assign('aColumsString', $aColumsString);
Тогда просто выводите в шаблон по мере необходимости. Если вам нужен список с запятыми более одного раза, это, вероятно, более эффективный метод. Если вам это понадобится один раз, это, вероятно, с точки зрения эффективности.