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

Php 如何在smarty模板中以以下格式制作记录样式,php,smarty,Php,Smarty,我想在smarty模板页面中以以下格式列出记录 1 3 5… 2 4 6 应该有 保险商实验室 li 1 2. 在这种格式中,HTML/CSS和Smarty都不提供任何处理这种布局的功能,因此我担心您必须创建n/2个列表,每个列表都必须显示为内联块元素(CSS:display:inline block;) $myList=array(1,2,3,4,5,6); $ListScont=ceil(计数($myList)/2); 对于($i=0;$i

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

1 3 5…
2 4 6

应该有 保险商实验室

li 1
2.
在这种格式中,HTML/CSS和Smarty都不提供任何处理这种布局的功能,因此我担心您必须创建n/2个列表,每个列表都必须显示为内联块元素(CSS:
display:inline block;

$myList=array(1,2,3,4,5,6);
$ListScont=ceil(计数($myList)/2);
对于($i=0;$i<$ListScont;++$i){
回声‘UL’;
对于($j=$i*2;$j<$i*2+2;++$j){
回音'LI'。$myList[$j]./LI';
}
回声'/UL';
}

让smarty在数组中循环两次,使用“步长”修饰符跳过其他条目:

<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>
    {section name=index loop=$myList start=0 step=2}
  • {$myList[index]}
  • {/section}
    {section name=index loop=$myList start=1 step=2}
  • {$myList[index]}
  • {/section}

结合CSS
display:block;宽度:50px
显示:内联块
(尽管并非所有浏览器都支持“内联块”),您应该可以获得您想要的外观。

不确定您的代码是否符合您的预期。。。您的代码生成三个ULs,如果使用内联块水平堆叠LI,第一行将显示“12”,第二行显示“34”,第三行显示“56”,从而形成一个垂直列表,而不是水平列表。
<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>