0

私はsmartytplを使用します。

今私はphpコードを持っています、そして私はそれをtplで使いたいです:

Tisは配列からの出力です。

 stdClass Object
(
[Status] => success
[Time] => 2011-01-01 12:00:00
[IP] => 12.34.56.789
[Count] => 1
[Filter] => stdClass Object
    (
        [Sort] => ProductCode
        [Order] => DESC
        [Search] => 
        [ProductCode] => P001
        [ProductType] => 
    )

[Result] => stdClass Object
    (
        [Products] => Array
            (
                [0] => stdClass Object
                    (
                        [Identifier] => 1
                        [ProductCode] => test
                        [ProductName] => test
                    )

            )

    )

Tisは機能するphpコードです:

   foreach ($product_list->Result->Products as $product) {
        echo $product->ProductName;
}

次のtplコードを使用していますが、これは機能しません

           //in php
    $smarty->assign("data", $product_list); 

     //in tpl file
    {foreach item=item from=$data}

<tr>
    <td align="center">{$item.Result->Products->ProductName}</td>
    <td align="center"></td>
    <td align="center"></td>
    <td align="center"><a href="" class="usuallink">{$header.order}</a></td>
</tr>
{/foreach}

誰かがこれを修正する方法はありますか?

4

1 に答える 1

1

phpの動作コードは次のようになります。

{foreach from=$data->Result->Products item=item}
    {$item->ProductName}
{/foreach}

smarty3では、純粋なphpのように見えます。

{foreach $data->Result->Products as $item}
    {$item->ProductName}
{/foreach}
于 2012-07-04T17:49:05.200 に答える