SmartTemplate中一行多列循环的解决办法

test.php:
-----------------------------------------------------------
<?php

  require("smarttemplate.php");
  $cols = 5;           //每行显示的列数

  for ($i = 0; $i < 47; $i++)
  {
    $info_src[$i] = "v$i";
  }

  $row = 0;
  $col = 0;
  $i = 0;
  while (($i < count($info_src)) || ($col != 0))
  {
    $info['行'][$row]['列'][$col]['内容'] = $info_src[$i];

    if (($col % ($cols - 1) == 0) && ($col != 0))
    {
      $row++;
      $col = 0;
    }
    else
    {
      $col++;
    }

    $i++;
  }

  $Tpl = new Template('test.tpl');
  $Tpl->assign("标题", "这是标题");
  $Tpl->assign($info);
  $Tpl->output();

?>
-----------------------------------------------------------

test.tpl:
-----------------------------------------------------------
<title>{标题}</title>
<table border='1'>
  {!--开始循环 行--}
  <tr>
    {!--开始循环 列--}
    <td align="center"> {内容}</td>
    {!--结束循环 列--}
  </tr>
  {!--结束循环 行--}
</table>
-----------------------------------------------------------

输出:

 v0  v1  v2  v3  v4
 v5  v6  v7  v8  v9
 v10  v11  v12  v13  v14
 v15  v16  v17  v18  v19
 v20  v21  v22  v23  v24
 v25  v26  v27  v28  v29
 v30  v31  v32  v33  v34
 v35  v36  v37  v38  v39
 v40  v41  v42  v43  v44
 v45  v46      

注意,这个SmartTemplate不是原装的,是我改进过的了!嘻嘻~~
原装的SmartTemplate是不支持中文标签的。
别说我误导你哦!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注