我的页面的一列(侧栏)中包含li
的类别列表。我现在希望它在几列中跨越页面的整个宽度。我总是喜欢3或4列来适应页面。这是生成一列的代码。
<div id="sidebar">
<ul>
{insert name=get_audio_categories assign=listcats}
{section name=o loop=$listcats}
<li><a href="{$baseurl}/z/{$listcats[o].CATID}/1/{$listcats[o].name}">{$listcats[o].name|stripslashes}</a> ({insert name=audio_categories_count value=a assign=atotal catid=$listcats[o].CATID}{$atotal} {$lang875}) </li>
{/section}
</ul>
</div>
之前我曾问过类似的问题,但这是使用纯PHP和表格布局。我似乎无法在下面提取这个逻辑并应用于上面的smarty tpl文件:
$nbCols = 4;
$nbRows = count($indexes)/$nbCols;
for($row=0; $row<$nbRows; $row++) {
echo "<tr>";
for($i=0; $i<$nbCols; $i++) {
$index = $indexes[$row + ($i*$nbRows)];
echo "<td>$index</td><td><input id='$index' name='$index' type='checkbox' /></td>";
}
echo "</tr>";
我可以获得类别的总数。
感谢大家的帮助。
答案 0 :(得分:1)
利用Smarty功能中的foreach
构建来显示列。
示例可以在http://www.smarty.net/manual/en/language.function.foreach.php
找到您需要从PHP代码中获取的所有内容都是一个包含您要显示的信息的数组。这与您使用section
函数非常相似。