我想在智能模板页面中以下列格式列出记录
1 3 5 ...
2 4 6 ...
应该有 UL
li 1
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';
}