簡體   English   中英

了解帶有嵌套While的PHP Smarty模板Foreach

[英]Understanding PHP Smarty template Foreach with nested While

我的smarty模板中包含以下代碼:

{foreach from=$categories item=l}
          <tr>----------START---------------</tr> <br/>

        {$l.category_name|strip_tags}
        {$l.sub_category}

        {while $l.sub_category}

            <td>{$l.category_name|strip_tags}</td>
            {foreach from=$l.sub_category item=k}
                <td>{$k.category_name|strip_tags}</td>
                <br/>
            {/foreach}

            <br/>
        {/while}

        ----------END---------------
            <br/>
        <br/>
    {/foreach}

輸出:

---------- START --------------- Teachers&StaffArray

- - - - - 結束 - - - - - - - -

---------- START --------------- PTA和基金會

- - - - - 結束 - - - - - - - -

---------- START ---------------濃縮程序

- - - - - 結束 - - - - - - - -

教職員工5年級6年級PTA和基金會
濃縮計划

我希望它能打印出來:

---------- START ---------------教師與教職員工

五年級六年級

- - - - - 結束 - - - - - - - -

---------- START --------------- PTA和基金會

- - - - - 結束 - - - - - - - -

---------- START ---------------濃縮程序

- - - - - 結束 - - - - - - - -

似乎在for循環之后輸出了輸出。 我是聰明模板的新手,並不真正理解為什么這樣打印。

另外,我還有另一個問題:

{while $l.sub_category}

                {foreach from=$l.sub_category item=k}
                       <br/>
                    { $k.category_name|strip_tags }

                {/foreach}


               { assign var=l value=$l.sub_category}

                <br/>
            {/while}

我想更新循環條件變量..但是我真的不太確定,然后我做了其他的assign方法。

任何建議表示贊賞。

我認為問題可能出在表結構上,在輸出td標簽之前打開和關閉tr,然后某些瀏覽器會按順序顯示內容。

它應該遵循

{foreach cat loop}
  <tr>
    <td>
      {while loop}
    </td>
    <td>
      {foreach loop}
    </td>
  </tr>
{/close foreach loop}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM