如何在smarty模板中以下列格式制作记录样式

时间:2010-01-22 08:02:39

标签: php smarty

我想在智能模板页面中以下列格式列出记录

1 3 5 ...
2 4 6 ...

应该有 UL

li 1
    2 以这种格式

2 个答案:

答案 0 :(得分:2)

通过数组智能循环两次,使用“step”修饰符跳过其他所有条目:

<ul>
{section name=index loop=$myList start=0 step=2}<li>{$myList[index]}</li>{/section}
</ul>
<ul>
{section name=index loop=$myList start=1 step=2}<li>{$myList[index]}</li>{/section}
</ul>

将它与CSS display:block; width:50px;display:inline-block相结合(虽然并非所有浏览器都支持“inline-block”),您应该得到您想要的外观。

答案 1 :(得分:0)

AFAIR既没有HTML / CSS也没有Smarty没有提供任何处理这种布局的功能,所以我担心你必须创建n / 2个列表,每个列表都必须显示为内联 - 块元素(CSS:display: inline-block;)。

$myList = array(1, 2, 3, 4, 5, 6);
$listsCount = ceil(count($myList) / 2);

for ($i = 0; $i < $listsCount; ++$i) {
  echo 'UL';
  for ($j = $i * 2; $j < $i * 2 + 2; ++$j) {
     echo 'LI ' . $myList[$j] . '/LI';
  }
  echo '/UL';
}