php smarty语法错误

时间:2011-07-17 13:36:00

标签: php syntax smarty

我是聪明的新手!我有一个循环来打印一张桌子!但是它会让synatc错误出错?

{foreach $messages as $message}
<tr style="{if !$message->read }font-weight:bold;{/if}">
    <td style="width: 3%; background: #EFEFEF" align="center"><input type="checkbox" name="selected[]" class="selected" value="{$account->username}{chr(22)}{$account->email}" /></td>
    <td style="width: 3%;" align="center"  >{$smarty.get.offset+($message@index+1)}</td>
    <td style="width: 20%;" >{$message->from}{if $message->firstname || $message->lastname}<span style="font-size:10px;font-weight:normal;color:#666"> <br />{$message->firstname} {$message->lastname}</span>{/if}</td>
    <td style="width: 46%;" ><a href="{$smarty.server.PHP_SELF}?mod=message&amp;caption=get&amp;id={$message->id}">{$message->subject}</a></td>
    <td style="width: 30%;" >{lib_abstracts::convertTime($message->cDate, '', TRUE, TRUE)}</td>
</tr>
{/foreach}

2 个答案:

答案 0 :(得分:3)

你在这里有空格->read }删除它并且它将起作用

<tr style="{if !$message->read }font-weight:bold;{/if}">

答案 1 :(得分:1)

您的foreach语法不正确。您正在使用PHP样式foreach。 Smarty有点不同。 注意:您的语法对Smarty 3有效。如果您使用的是Smarty 2.x,请使用:

{foreach from=$messages item=message}
  ....
{/foreach}

Smarty foreach docs