Smarty: Как вывести значения массива через разделитель

White Rabbit

белый кролик
Smarty: Как вывести значения массива через разделитель

Передаём массив
array(
0=>"a", 1=>"b" ...
);
Далее Smarty->assign('test_array',$array);

В шаблоне делаю через секцию
{section name="test" loop=$test_array}
$test_array[test],
{/section}

Как сделать вывод значений через, например, запятую?
Может есть рецепт?
 

Denix

Новичок
Ну так ты вроде бы через запятую и выводишь.

Ну еще можно перед ассайном в смарти воспользоваться функцией implode().
 

kost

Новичок
Ну, рас уж на то пошло,

{section name="test" loop=$test_array}
{$test_array.$smarty.section.test.index}{if !$smarty.section.test.last},{/if}
{/section}
 

White Rabbit

белый кролик
Это как раз то, что я искал. Спасибо всем.

Denix
Перед ассайном в смарти никаких операций с контентом
делать не хочется. В смарти должен передаваться массив.
Чтобы не править скрипты, когда вместо запятой понадобится точка.
 

Denix

Новичок
2 si: действительно прикольно. Я не знал такой метод
 

kost

Новичок
Да. Только.

в случае включения $security, все PHP-функции, которые будут использованы как модификаторы, должны быть объявлены "безопасными" в массиве $security_settings['MODIFIER_FUNCS'].
 

zerkms

TDD infected
Команда форума
kost
и что мешает их таковыми объявить, если уж на то пошло??
 

kost

Новичок
zerkms
Ничего. Просто об этом не надо забывать. Не так ли? [я ж не говорил что из-за этого низя использовать]. Но решение действительно прикольное.
 
Сверху