Php 如何在smarty中使用{section}打印关联数组?

Php 如何在smarty中使用{section}打印关联数组?,php,smarty,Php,Smarty,我想使用section打印关联数组,但无法执行此操作。以下是PHP和Smarty代码: PHP代码: $smarty->assign('$all_latest_news', $grid_data); 在上述代码中,$grid\u data是分配给smarty模板的关联数组。为便于参考,使用print\r($grid\u data)打印后,数组如下所示: 现在我想在smarty模板中打印此数组,其代码段如下所示: <table width="100%" align="

我想使用section打印关联数组,但无法执行此操作。以下是PHP和Smarty代码:

PHP代码:

  $smarty->assign('$all_latest_news',       $grid_data);
在上述代码中,
$grid\u data
是分配给smarty模板的关联数组。为便于参考,使用
print\r($grid\u data)
打印后,数组如下所示:

现在我想在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>

新闻标题
新闻链接
选项
{section name=news loop=$all\u latest\u news}
{$all_最新消息[news].news_title}
{$all_最新消息[新闻]。新闻链接|截断:350:“…”:true}
{sectionelse}
没有消息
{/section}
使用此代码,我无法将数组值打印到相应的列。正确打印列标题。然后执行
{sectionelse}
部分,并打印消息“No News Available”


实际上我想打印数组中的值。有人能帮我解决这个问题吗?提前感谢。

在Smarty中将值分配给变量时,您不希望将
'$'
符号放入。将代码更改为

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

将值分配给Smarty中的变量时,您不希望将
“$”置于符号中。将代码更改为

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

更改
$smarty->assign($all\u latest\u news',$grid\u data)

致:

$smarty->assign('all\u latest\u news',$grid\u data)

使用以下命令:

{foreach from=$all_latest_news item=news name=news}
   {$news.news_title}
{/foreach}

参考:

更改
$smarty->assign($all\u latest\u news',$grid\u data)

致:

$smarty->assign('all\u latest\u news',$grid\u data)

使用以下命令:

{foreach from=$all_latest_news item=news name=news}
   {$news.news_title}
{/foreach}

参考:非常感谢您@Edwin Alex。你省去了那么多的头痛和时间。@Lightness Race Sinorbit我不是在乞求名声。如果他接受了正确的答案,这可能会对未来面临这个问题的用户有所帮助。我甚至会问其他人是否给出了正确的答案。Sushil在这里已经呆了两个月,粗略地检查一下他的个人资料就可以发现他很清楚如何接受答案。@Lightness Race Sinorbit那又怎样。。提醒用户接受答案没有什么错,这对你来说也是如此。让我们现在停止吧,非常感谢你@Edwin Alex。你省去了那么多的头痛和时间。@Lightness Race Sinorbit我不是在乞求名声。如果他接受了正确的答案,这可能会对未来面临这个问题的用户有所帮助。我甚至会问其他人是否给出了正确的答案。Sushil在这里已经呆了两个月,粗略地检查一下他的个人资料就可以发现他很清楚如何接受答案。@Lightness Race Sinorbit那又怎样。。提醒用户接受答案没有什么错,这对你来说也是如此。让我们现在停止