Автор Тема: Листаем страницы, пагинация, вывод кол-во товара на странице  (Прочитано 9271 раз)

nictboom

  • Гость
Собственно вопрос поднимался(еще в ноябре), ну... чуть забыл. может кто то и доведёт(оптимизирует) его до редактирования в "админке".
в общем, в includes/category.php заменяем CONF_PRODUCTS_PER_PAGE на $sel_view во всем документе.
далее в этом же документе добавляем, например после:
    $smarty->assign("products_to_show_count", NULL);кусочек:
        if (isset($_POST["view_layout"])) {$_SESSION["view_layout"] = $_POST["view_layout"];}
        if (isset($_SESSION["view_layout"])) $sel_view = $_SESSION["view_layout"];
        else $sel_view = CONF_PRODUCTS_PER_PAGE;
        $smarty->assign("sel_view",$sel_view);
и
перед $result=products_to_show($sql); добавить(в 2-ух местах):
            if (!isset($_GET['show_all'])) $sql.= ' LIMIT ' . $offset . ' , ' . $sel_view;ну и в шаблон, где хотим видеть селект:
        <div>
            <form method="post" name="view_out">           
                <select onchange="this.form.submit();" name="view_layout">
                    <option value="{$smarty.const.CONF_PRODUCTS_PER_PAGE}"{if $sel_view==$smarty.const.CONF_PRODUCTS_PER_PAGE}selected="selected"{/if}>{$smarty.const.CONF_PRODUCTS_PER_PAGE}</option>
                    <option value="20"{if $sel_view==20}selected="selected"{/if}>20</option>
                    <option value="50"{if $sel_view==50}selected="selected"{/if}>50</option>
                </select>
            </form>
        </div>
как и писал, можно довести и до "админки" вывод кол-во товаров на странице: по 20, или по 50. а так ручками..
то есть появиться селект с выбором какое кол-во товара показывать на странице. ничего необычного.
как то так :)
зы/ по желанию можно и по другим includes и шаблонам пройтись(например brands), принцип тот же.
но не забываем бэкапится, ну мало ли что.
« Последнее редактирование: Января 08, 2013, 09:21:19 pm от nictboom »