Синтаксис foreach на smarty 1.6

Я использую Smarty v.1.6, в php:

$groups = $user_groups['data'];

$user_groups['data'] получено из $user_groups = $facebook->api('/'.$fbuser.'/groups'); (я получаю данные группы пользователей facebook, и они возвращают массив). Затем я назначаю $groups в файле tpl:

$template->assign("userGroupsData", $groups);

Я хочу напечатать только название каждой группы, поэтому в tpl:

{foreach from=$userGroupsData item=member}
  {$member->name}
{/foreach}

но результат ничего не показывает. {$member->name|@print_r} будет производить:

11111111111 (как номер моей группы)

Что не так с моим кодом? Пожалуйста помоги..

Вот результат массива {$member|print_r} :

Array ( 
    [name] => beasiswa dirmawa ugm 
    [unread] => 25 
    [bookmark_order] => 999999999 
    [id] => 148164981898119 ) 1 
Array ( 
    [name] => Diskusi Jurusan IKE 
    [unread] => 1 
    [bookmark_order] => 999999999 
    [id] => 131266600402713 ) 1 
Array ( 
    [name] => ILMU KOMPUTER - UGM 
    [unread] => 7 
    [bookmark_order] => 9 
    [id] => 392009304179631 ) 1 
Array ( 
    [name] => Facebook Developers 
    [unread] => 25 
    [bookmark_order] => 999999999 
    [id] => 146797922030397 ) 1 

...etc

Любая помощь будет принята с благодарностью, спасибо.


person King Goeks    schedule 02.10.2013    source источник


Ответы (1)


Если это массив, вы должны использовать символ точки (по крайней мере, в smarty 2 и выше):

{$member.name}

http://www.smarty.net/docsv2/en/language.variables.tpl#language.variables.assoc.arrays

но это может отличаться в версии, которую вы используете

person Borgtex    schedule 02.10.2013