我想可以把‘$infoArray1’,‘$infoArray2’,‘$infoArray3’在程序的页面里做为另一个数组的内容assign到一个模版变量b里,在程序里应该可以很容易的把infoArrayX用字符串来处理
这样在模板里
<section name=a loop=$b>
  <{section name=sec1 loop=$b[a]}>
</section>
这样就应该能生成你要的
<{section name=sec1 loop=$infoArray1}>
<{section name=sec1 loop=$infoArray2}>
<{section name=sec1 loop=$infoArray3}>

解决方案 »

  1.   

    我现在是这样做。查考了网上的代码,但总感觉不太方便。
    //模板
        <{section name=sec1 loop=$forum}>
        <tr>
     <td><{$forum[sec1].category_name}>
    <{include file="blocktest`$forum[sec1].category_id`.tpl"}>
     </td>
     </tr>    <{/section}>
    //程序
    $testArray1 = array(
                    array("topic_id" => 1, "topic_name" => "站務公告")
                );
    $testArray2 = array(
                    array("topic_id" => 2, "topic_name" => "好書介紹"),
                    array("topic_id" => 3, "topic_name" => "奇文共賞")
                );
    $testArray3 = array(
                    array("topic_id" => 4, "topic_name" => "硬體週邊"),
                    array("topic_id" => 5, "topic_name" => "軟體討論")
                );    $forum = array(
            array("category_id" => 1, "category_name" => "公告區",
                "topic" => $testArray1
            ),
            array("category_id" => 2, "category_name" => "文學專區",
                "topic" => $testArray2
            ),
            array("category_id" => 3, "category_name" => "電腦專區",
                "topic" => $testArray3
            )
        );
        $smarty->assign("forum", $forum);