модуль, аналогичный Prev Next Product 1.5.x ищу

Тема в разделе "Opencart", создана пользователем sitecreator, 31 май 2013.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. sitecreator

    sitecreator

    Регистр.:
    1 май 2013
    Сообщения:
    209
    Симпатии:
    17
  2. SouthWard

    SouthWard Постоялец

    Регистр.:
    8 окт 2008
    Сообщения:
    67
    Симпатии:
    4
    Готового точно нет, дописать такое не сложно ;)
     
  3. stwild

    stwild Постоялец

    Регистр.:
    30 июл 2007
    Сообщения:
    56
    Симпатии:
    14
    Был в своё время адский модуль, который отображал стрелочки со ссылками на товар c id на 1 больше и на 1 меньше :lol:

    задача кстати не такая простая, как может показаться )
    самая простая реализация, это найти следующий и предыдущий товар из главной категории текущего товара, но будет некорректно работать, если юзер перешёл на страницу товара не из его главной категории, к тому же не стоит забывать, что юзер мог изменить параметры сортировки(или даже пользоваться фильтром) - следовательно надо запоминать, если эти параметры был изменены. куки или сессия не подходят, так как юзер может сидеть в двух категориях в разных вкладках, следовательно надо передавать эту информацию в ссылке на товар.
     
  4. sitecreator

    sitecreator

    Регистр.:
    1 май 2013
    Сообщения:
    209
    Симпатии:
    17
    полностью согласен, что непростая. архи сложная.
    одному заказчику показал как криво и некорректно работает переход "предыдущий/следующий" в случае сортировки, отличной по умолчанию. Заказчик внял доводам и решил отказаться от этой затеи.
    Но есть другой упертый, который все равно говорит "хочу чтоб было".
     
  5. stwild

    stwild Постоялец

    Регистр.:
    30 июл 2007
    Сообщения:
    56
    Симпатии:
    14
    ядрён батон :D Сидел тут час наверное расписывал, как клонировать метод getProducts и переделать его так, чтоб корректно возвращал id следующего и предыдущего продукта, да ещё корректно кешеировал результат, дошёл до того, как передавать параметры просмотра категории и пришла в голову гениальная идея )) можно сделать очень просто(ну или относительно просто) ))

    клонировать в модели продукта метод getProducts и обозвать новый метод getProductsIds, выпилить из него limit и сделать так, чтоб собирал только id продуктов в массив.
    переправить имя файла кэша, на что нито другое

    в контроллере категории(а так же поиска и прочего)

    перед
    Код:
    $results = $this->model_catalog_product->getProducts($data)
    сгенерировать идентификатор текущих условий просмотра

    Код:
    md5(http_build_query($data));
    и в секции где генерируется href для продукта добавить идентификатор условий к получаеммому url-ю


    в контроллере продукта проверять передан ли идентификатор условий, если не передан, то значит человек зашёл с какого то модуля и выдать последующие уже можно без заморочки с параметрами и сортировкой(или вообще их не выдавать),
    если передан, то по идентификатору текущих условий просмотра получить из кеша(любезно сгенерированного для нас методом getProductsIds, когда юзер смотрел категорию) список упорядоченных id и найти в нём следующий и предыдущий товар относительно текущего и сгенерировать ссылки на эти товары не забыв передать айдишник условий
     
  6. stwild

    stwild Постоялец

    Регистр.:
    30 июл 2007
    Сообщения:
    56
    Симпатии:
    14
    разумеется в имени файла кеша должен фигурировать идентификатор условий сгенерированный по тому же алгоритму, что и в контролере категорий, т.е
    Код:
     md5(http_build_query($data));
     
  7. Twix007

    Twix007 Нарушитель

    Регистр.:
    11 окт 2009
    Сообщения:
    213
    Симпатии:
    49
    есть у кого результаты?