3 колонки макета - циклический просмотр динамических данных - PullRequest
0 голосов
/ 05 сентября 2010

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

$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 Ответ

1 голос
/ 05 сентября 2010

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

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

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

...