Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Сортировка товаров в 1.5.1.3.1


needhelp

Recommended Posts

Здравствуйте спецы! Пытаюсь делать магазин на opencart_v1.5.1.3.1. Все бы ничего да вот начали заливать товар и столкнулись с такой проблемой: по умолчанию стоит показывать на странице 12 товаров и сортировка "по умолчанию". И мы заметили, что при такой сортировке просто пропадает 2-3 товара, а на их место дублируются товары из той же категории. Но когда ставишь показывать на странице 50 товаров или просто выбрать сортировку по любому другому параметру, то все ОК! ЧТО ДЕЛАТЬ??? Может что-то не правильно указываем, когда создаем товар в админке? что там в админке за параметр "Порядок сортировки:"???? (у нас стоит значение на всех товарах 1). Жду помошь)))

Надіслати
Поділитися на інших сайтах


Спасибо за совет, напишем хостингу, но как-то странно все равно, какое отношение он имеет к сортировке товаров?..........да и хостинг один из лучших в Украине

  • +1 1
Надіслати
Поділитися на інших сайтах


Проблема именно в одинаковом sort order. Я предлагаю просто поменять сортировку по умолчанию на сортировку по имени товара: см. патч http://code.google.com/p/opencart/issues/detail?id=621&can=1&sort=-id&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary%20Reporter

Даниэль там написал, что решил как-то по-другому эту проблему, но я не искал, как именно. Должно быть там SVN, но где конкретно - я без понятия, вам придётся самим искать при желании. Мой способ меня вполне устраивает, здесь на форуме тоже советовал его - люди пробовали, довольны и т.п.

Надіслати
Поділитися на інших сайтах


Открыть файл catalog/controller/product/category.php

Перейти на 12 строчку. Увидеть там указанный блок. Убрать то, что помечено минусом и вставить то, что помечено плюсом (первый символ в строке).

В данном случае - просто 'p.sort_order' замените на 'pd.name'.

Это должна быть 15 строка в вашем файле.

Надіслати
Поділитися на інших сайтах


Странно, почему у меня ничего не дублируется. А как только поставил на другой хостинг, проблема возникла. Отписал в тп, проблема исчезла.

Надіслати
Поділитися на інших сайтах


Странно, почему у меня ничего не дублируется. А как только поставил на другой хостинг, проблема возникла. Отписал в тп, проблема исчезла.

У тебя ТП отзывчивая либо твой запрос обрабатывал соображающий человек а не макака...
Надіслати
Поділитися на інших сайтах

Даниэль там написал, что решил как-то по-другому эту проблему, но я не искал, как именно.

Решение там элементарное

ORDER BY sort_order ASC, product_id DESC

or

ORDER BY sort_order ASC, date_added DESC

При одинаковых sort_order сортируется по product_id или по date_added, но это паскудно сказывается на производительности

В SVN добавили сортировку по имени... http://code.google.com/p/opencart/source/diff?spec=svn712&r=693&format=side&path=/trunk/upload/catalog/model/catalog/product.php&old_path=/trunk/upload/catalog/model/catalog/product.php&old=604

Это чуть лучше сортировок в обратном порядке, но всёравно тормоза....

Змінено користувачем Yesvik
Надіслати
Поділитися на інших сайтах

Я вообще не вижу особого смысла по sort_order сортировать - вряд ли их вообще кто-то для товаров прописывает в живых магазинах с большим ассортиментом. Разве что можно в категории повыше поднимать, на первую страницу. Но кажется мне, что этим никто не будет заниматься, а товары под нос подсовывать будут в рекомендуемых или через баннеры и т.п.

Надіслати
Поділитися на інших сайтах


Абсолютно с тобой согласен, но подобная фишка есть практически во всех магазинах... и расплачиваться за это такой ценой как сделали в SVN - я не согласен.

Надіслати
Поділитися на інших сайтах

Да ну какая техподдержка? Сортировка по умолчанию - это сортировка по sort_order. Которое у всех товаров обычно одинаковое. Как вздумается MySQL-ю отдать массив данных -- так и отдаст. Никаких предписаний на этот счет не существует. Порядок случаен и никто не может гарантировать, что при следующем таком же запросе (второй и следующих страниц) вы получите точно тот же набор данных в том же порядке, что при первом запросе. Даже техподдержка. Разве что она вручную ваши данные будет фильтровать после MySQL-я.

Надіслати
Поділитися на інших сайтах


так пусть бы товары и отображались в хаотическом порядке, но некоторые из них же пропадают!!! а когда ставишь проссмотр любой другой, кроме "по умолчанию", то все ок!

Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах


Наконец связались с хостингом, они сказали, что такая проблема действительно может иметь место, но им нужно сказать, какие именно нам нужны настройки php под наш opencart, т.к. сейчас стоят какие-то стандартные настройки, которые препятствуют взлому. Кто знает, пожалуйста, напишите.

Надіслати
Поділитися на інших сайтах


Не могу понять, каким боком настройки хостинга к сортировке по умолчанию, но сие есть факт! На днях поменял сервер. На старом стояла PHP 5.1.16. На новый поставил PHP 5.2.17. Доставил ещё кое-какие расширения, которых не было изначально, установил веб-сервер nginx (на старом сервере не ставил). Не знаю, что повлияло, версия PHP, какие-то расширения, или nginx, но проблема с кривым отображением сортировки "по умолчанию" исчезла. Прямо шайтан какой-то...

Надіслати
Поділитися на інших сайтах


  • 3 weeks later...

Открыть файл catalog/controller/product/category.php

Перейти на 12 строчку. Увидеть там указанный блок. Убрать то, что помечено минусом и вставить то, что помечено плюсом (первый символ в строке).

В данном случае - просто 'p.sort_order' замените на 'pd.name'.

сделал подобным образом - то, что нужно.

минимум усилий, а результат меня устраивает.

спасибо ;)

Надіслати
Поділитися на інших сайтах


  • 8 months later...

сделал подобным образом, но сортировку по дате "$sort = 'p.date_added';", НО я бы хотел чтобы сортировка стала обратной, т е последний добавленный товар стал первым в выдаче. Подскажите пожалуйста как это сделать?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.