2010-09-05 3 views
0

У меня есть список категорий, который содержится в li на одной колонке моей страницы (боковая панель). Теперь я хочу, чтобы он охватывал всю ширину страницы в нескольких столбцах. Мне всегда хотелось бы, чтобы 3 или 4 столбца соответствовали странице. Это код, который генерирует один столбец.3 Разметка столбцов - Цитирование по динамическим данным

 <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 и таблицы. Я не могу показаться, чтобы извлечь эту логику ниже, и применить к подготовленному файлу умник 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>"; 

я могу получить общее количество категорий.

Спасибо всем за любую помощь.

ответ

1

Используйте функцию foreach в функции Smarty для отображения столбца.

Пример можно найти здесь http://www.smarty.net/manual/en/language.function.foreach.php

Все, что вам потребуется от вашего PHP кода является массивом, которые держат информацию, которую вы хотели бы, чтобы отобразить. Это очень похоже на то, как вы используете функцию section.