2013-02-26 71 views
2

我想用部分打印关联数组,但我无法做到so.Following是PHP和Smarty的代码:如何在smarty中使用{section}来打印关联数组?

PHP代码:

$smarty->assign('$all_latest_news',  $grid_data); 

在上面的代码$grid_data是被分配给smarty模板的关联数组。为了您的信息的阵列看起来像这样使用print_r($grid_data)印刷后:

Array ([0] => Array ([news_id] => 1 [news_title] => News Channel URL [news_link] => http://indiatoday.intoday.in/ [news_added_date] => 2013-02-26) [1] => Array ([news_id] => 2 [news_title] => News Paper Web Address [news_link] => http://www.bhaskar.com/ [news_added_date] => 2013-02-25)) 

现在我想打印此数组中的Smarty模板这个代码片段如下:

<table width="100%" align="center" cellpadding="6" cellspacing="1" bgcolor="#FFFFFF"> 
       <tr align="center" id="tableHeader"> 
        <td width="20%" align="left"><b>News Title</b></td> 
        <td width="55%" align="left"><b>News Link</b></td> 
        <td width="15%" align="center"><b>Option</b></td> 
       </tr> 
       {section name=news loop=$all_latest_news} 
       <tr align="center" id="tabledata" bgcolor="{cycle values="#d0e8f4,#96c0d5"}"> 
        <td align="left" valign="top">{$all_latest_news[news].news_title}</td> 
        <td align="left" valign="top">{$all_latest_news[news].news_link|truncate:350:" ...":true}</td> 

        <td align="center" valign="top"><a href="manage_latest_news.php?op=edit&news_id={$all_latest_news[news].news_id}">Edit</a> 
        &nbsp;&nbsp;<a href="manage_latest_news.php?op=delete&news_id={$all_latest_news[news].news_id}" onClick="return ConfirmDelete()">Delete</a></td> 
       </tr> 
       {sectionelse} 
       <tr> 
        <td colspan="5" align="center"><b>No News Available</b></td> 
       </tr> 
       {/section} 
</table> 

使用此代码我无法将数组值打印到相应的列。列标题正确打印。之后,执行{sectionelse}部件,并打印出“No News Available”消息。

其实我想在阵列打印的值。任何人都可以帮我解决这个问题吗?提前致谢。

回答

2

当您指定的值到Smarty的变量,你不想把'$'符号。更改您的代码,

$smarty->assign('all_latest_news', $grid_data); 
+0

非常感谢你@Edwin Alex。你节省了很多头痛和时间。 – PHPLover 2013-02-26 08:26:07

+1

@Sushil如果这个答案解决了你的问题,只要接受它。 – 2013-02-26 08:27:23

+0

请不要求接受。 – 2013-02-26 09:15:23