Вход • Регистрация

Как вывести на странице список товаров С ПАГИНАЦИЕЙ?

  • 06 апреля 2017 г.
  • Добрый день.
    Прошу помочь.

    на странице /test/ с помощью <insert name="show_block" выводятся товары из интернет-магазина, отфильтрованные по определенному свойству.
    Нужно добавить на эту страницу пагинацию.

    Я добавляю $this->result["paginator"] = $this->diafan->_tpl->get('get', 'paginator', $this->diafan->_paginator->get());
    Пагинация выводится, но при переходе по ссылке /test/page2 ошибка 404(

    Подскажите, возможно ли в ф-ю show_block добавить пагинацию?
    Или другим способом вывести товары с пагинацией?
    • 06 апреля 2017 г.
    • На текущий момент шаблонный тег вывода блока чего-либа не подразумевает пагинацию. Поэтому, чтобы вывести ее самостоятельно, потребуется внесение ряда корректировок. Например, применительно модуля shop: shop.php, shop.model.php и shop.view.block.php (в названиях могу ошибиться, т.к. пишу по памяти с телефона). Т.е. Вы можете сделать это аналогично функции вывода списка товара. Ни чего сложного в этом нет, но привести конкретное решения не могу, так как в распоряжении только телефон. Думаю здесь обязательно кто-то приведет пример, если в этом будет необходимость.

      Успехов.
  • 07 апреля 2017 г.
  • Виталий, спасибо, что откликнулись.
    Не подскажете, каким образом вывести функцию на странице?

    Я вывожу через <insert name="list_test" module="shop">
    Наверно, из-за шаблонного тега вторая страница выдает 404.
    • 07 апреля 2017 г. , редакция: 07 апреля 2017 г.
    • 1. Вообще, пагинацию элементов блока лучше делать используя технологию ajax, а то получается из-за какого-то блока перезагружаем всю страницу.
      2. Запоминать положение страницы в блоке можно с помощью сессии и куков. На мой взгляд, приминительно к diafan.cms, лучше через сессию, так как в cms проработан основной механиз работы с сессией и вам остается только передавать и получать данные.
      3 . Предполагаю, что Вы решили шаблонным блоком подменить работу функций модуля, которые используются при выводе содержимого на страницу, к которой он прикреплен. А это с точки зрения концепции cms не корректно. Отсюда скорее всего ошибка 404, которую Вы привели в своем сообщении.

      Ps: я понимаю, что скорее всего Вам не нужны теоретические измышления, которые я привел в сообщении. А необходим конкретный код, который можно было бы вставить и все б заработало. Прошу понять, мне сейчас не до этого - очень занят. Возможно позже я представлю код.
  • 11 апреля 2017 г.
  • Спасибо, действительно, ajax полностью решит проблему со страницами пагинации.

    Нет, мне нужна была именно подсказка, как решить проблему. Что вы и написали, еще раз спасибо.
    А ожидать конкретного кода на такой общий вопрос - это уж слишком.

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке.