我也遇到过类似的情况,是关于一个无限级分类的。你可以参照《冰山信息发布系统》的解决方案。不过我自己弄了半天最后还是在这个地方终止了。
当时用递归得到数组然后再assign给模板里面的变量,但是怎么弄,输出的都是第一级类别。。
我当时哪个模板里面是在第一个<tr>之前写了BEGIN。。,结果是不成功。若是你弄好了可以分享下么?3Q~

解决方案 »

  1.   

    在PHP中!
    $this->info=Array
    (
        [0] => Array
            (
                [CAT_ID] => 59
                [CAT_LAY] => 1
                [CAT_PID] => 00
                [CAT_NAME] => 医学参考书
                [SONCAT] => Array
                    (
                        [0] => Array
                            (
                                [CAT_ID] => 83
                                [CAT_LAY] => 2
                                [CAT_PID] => 59
                                [CAT_NAME] => 内科学
                                [SONCAT] => Array
                                    (
                                        [0] => Array
                                            (
                                                [CAT_ID] => 100
                                                [CAT_LAY] => 3
                                                [CAT_PID] => 83
                                                [CAT_NAME] => 传染病
                                                [SONCAT] => 
                                            )                                    [1] => Array
                                            (
                                                [0] => 101
                                                [CAT_ID] => 101
                                                [1] => 3
                                                [CAT_LAY] => 3
                                                [2] => 83
                                                [CAT_PID] => 83
                                                [3] => 心脑血管
                                                [CAT_NAME] => 心脑血管
                                                [SONCAT] => 
                                            )
    ;
    $this->assign('tinfo',$this->info);
      

  2.   

    楼上的什么意思呀?
    把这个数据assign给模板后怎么才能显示处
    --医学参考书
    -----内科学
    --------传染病
    --------心脑血管
    -----外科
    --------等等
      

  3.   

    根据你给的数据是有限级别的,所以只需按已知级数嵌套块即可
    <!-- BEGIN root -->
    {CAT_ID} - {CAT_LAY} - {CAT_PID}<br>
    {CAT_NAME}<br>
    <!-- BEGIN SONCAT -->
    {CAT_ID} - {CAT_LAY} - {CAT_PID}<br>
    {CAT_NAME}<br>
    <!-- BEGIN SONCAT -->
    {CAT_ID} - {CAT_LAY} - {CAT_PID}<br>
    {CAT_NAME}<br>
    <!-- END SONCAT -->
    <!-- END SONCAT -->
    <!-- END root -->$page->assign('root',$array);如果是无限级数则比较麻烦,需要使用自模板
    <!-- BEGIN SONCAT -->
    {CAT_ID} - {CAT_LAY} - {CAT_PID}<br>
    {CAT_NAME}<br>
    <!-- END SONCAT -->
    自底向上逐层赋值
      

  4.   

    在HTML中使用双层循环读出来!
      
    {section name=mloop loop=$main}
    <table>
    <tr>
    <td>
    <table width="99%" height="143" border="0" align="center" cellpadding="0" cellspacing="0" class="table4"   >
      <tr> 
        <td colspan="3"> <table  width="100%"  height="30" border="0"  cellpadding="0" cellspacing="0"  class="table2">
            <tr> 
              <td    background="images/tablebg.gif">  <img src="../images/tabletitle.gif" width="19" height="19"> 
                <span class="zzz">{$main[mloop].name} </span></td>
            </tr>
            <tr> 
              <td  height="2"   bgcolor="7F7F7F"> </td>
            </tr>
          </table> 
      {section name=sloop loop=$son_name[mloop]} 
      <tr   bgcolor="{cycle values="#FFFFFF,#F6F6F6"}" > 
        <td width="16%" > <img src="http//www.bbs.whamsports.com/admin/fumspic/{$son_picture[mloop][sloop]}" width="86" height="96"> 
        </td>
        <td width="38%" valign="top" ><br>
             <span class="zzz">帖子总数:{$son_posts[mloop][sloop]}</span> 
          </td>
          <span class="font9"><a href="./index.php?act=Showtopic&CODE=02&fid={$son_fid[mloop][sloop]}&tid={$son_tid[mloop][sloop]}">主题:{$son_title[mloop][sloop]}</a></span><br>
        </td>
      </tr>
      {/section} 
    </table>
    {/section}
      

  5.   

    xuzuning(唠叨)  兄,你能不能把哪个子模板的东东说的详细些?万分感谢