Построение массивов в Smarty PHP

Можно ли построить массив в Smarty, например я пробовал

{def $totalitems[0]=3}

Но это, кажется, не работает. Возможно ли это в Smarty?

Спасибо.


person plosww1    schedule 09.03.2010    source источник


Ответы (2)


Я не уверен, почему вы хотите это сделать. Идея системы шаблонов заключается в том, что вы отделяете логику от отображения. Вам нужно создать массив в PHP, а затем передать его в свой умный шаблон, используя php следующим образом:

$totalitems[0]=3;
$smarty->assign("totalitems",$totalitems);

Затем вы можете получить доступ к totalitems из своего шаблона обычным способом.

person rook    schedule 09.03.2010

В Smarty3 Beta вы можете сделать следующее:

Примеры: {$foo['bar']=1} {$foo['bar']['blar']=1}

Просто посмотрите README: http://smarty-php.googlecode.com/svn/branches/Smarty3Dev/distribution/README

Я не уверен, что вы можете сделать это в Smarty2. Я пробовал кое-что в своей версии Smarty2, но это не работает. Возможно, вам потребуется перейти на Smarty3.

Однако я бы рекомендовал не выполнять логические операции в шаблоне, если это может помочь.

person rlorenzo    schedule 09.03.2010