我使用的是TBS示例代码:
include_once('tbs_class.php');
$TBS = new clsTinyButStrong;
$TBS->LoadTemplate('template.htm');
$list = array('X','Y','Z');
$TBS->MergeBlock('blk', $list);
$TBS->Show();但是,而不是如下所示的一列表
<table>
<tr><td>X</td></tr>
<tr><td>Y</td></tr>
<tr><td>Z</td></tr>
</table>我想要一个多列表(例如,4列)。
到目前为止,我发现的唯一工作代码是:
$number_of_columns = 4;
$number_of_rows = 2;
$number_of_items = $number_of_columns * $number_of_rows;
$output_data = array('1', '2', '3', '4', '5', '6', '7', '8');
$TBS->MergeBlock('col','num',$number_of_columns); // expand columns
$TBS->MergeBlock('od',array_slice($output_data,0,$number_of_items));并作为模板
<table border="1">
<tr>[od;block=tr;serial]<td>[od_[col.val;block=td].val;block=td]</td></tr>
</table>还有更简单的吗?
发布于 2014-03-10 22:30:32
如果您要做的是按顺序显示项目,如下所示
1 2 3 4
5 6 7 8
9 10 11然后你就可以:
1)就像你的例子一样,在TBS中使用串行模式。这就是这个参数的目的,您的例子非常简单。
2)更改数据源$output_data中的项,以便每行有一个记录。
剧本:
$data = array(
array(1, 2, 3, 4),
array(5, 6, 7, 8),
array(9, 10, 11),
);
$TBS->MergeBlock('od', $data);模板:
<table>
<tr>
<td>[id.0;block=tr]</td>
<td>[id.1;noerr]</td>
<td>[id.2;noerr]</td>
<td>[id.3;noerr]</td>
</tr>
</table>3)不要更改数据,而要更改HTML模板。使用固定宽度的<div>代替表。在这个div中,使用一个位于行中的实体,例如宽度为<span>的实体是<div>的四分之一。然后,每个<span>将按顺序显示,每4 <span>中断一行。
$output_data = array('1', '2', '3', '4', '5', '6', '7', '8');
$TBS->MergeBlock('od', $output_data);https://stackoverflow.com/questions/22297013
复制相似问题