代码如下 | 复制代码 | |
|
示例中的模板定界符为 ?>
代码如下 | 复制代码 |
// 说明:Smarty 在表格(table)里输出多列多行数据的方法
// 设置列表内容 $siteList = array( array('url'=>'http://www.111com.net'), array('url'=>'http://YITU.org'), array('url'=>'http://www.111com.net'), array('url'=>'http://www.baidu.com'), array('url'=>'http://www.yahoo.com.cn'), array('url'=>'http://www.111com.net'), array('url'=>'http://www.sohu.com'), array('url'=>'http://www.sina.com.cn'), );
// 列表数据统计 $siteListCount = count($siteList);
// 显示列数 $siteListColumn = 3;
// 如果列表数据不能将最后一行填满, // 如:共 8 条记录,每列 3 条记录,最后一行还差 1 条 if($siteListColumn > 1 && $siteListCount % $siteListColumn != 0) { // 计算最后一行还差几列 $emptyColumn = $siteListColumn - ($siteListCount % $siteListColumn);
for($i=0; $i<$emptyColumn; $i++) { // 用空值填充,保证最后一行正确显示 $siteList[$siteListCount + $i] = array('url'=>' '); } }
// 将显示列数赋值到模板 $smarty->assign('siteListColumn', $siteListColumn);
// 将显示数据赋值到模板 $smarty->assign('siteList', $siteList);
?> |