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

Изменить способ сортировки товаров по умолчанию в категориях


ocus

Recommended Posts

Здравствуйте, Уважаемые Гуру.

Нужно:

1. Изменить способ сортировки товаров по умолчанию в категориях. Сейчас это "от А до Я". Поставить следует другой, напр. по увеличению цены.

2. Изменить вид отображения товаров по умолчанию со списка на сетку.

Вопрос простейший для Вас. Однако, прошу помочь. Шеф торопит, а копаться в коде нет времени...

Спасибо.

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


Шефу есть шанс подыскать более подходящего для таких заданий исполнителя!  :-D

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

2) Изменить вид отображения товаров по умолчанию со списка на сетку. - єто в настройках темы посмотри обычно оно там

1) catalog/controller/product/category.php, search.php, manufacturer.php,specials.php

В этих файлах иши чтото такое

} else {
  $sort = 'p.sort_order';
}
  • +1 1
Надіслати
Поділитися на інших сайтах

Шефу есть шанс подыскать более подходящего для таких заданий исполнителя!  :-D

Шеф жадный и никого искать не хочет - им платить нужно! А я у него универсальный, за один оклад на все руки...   :-)

Змінено користувачем ocus
  • +1 4
Надіслати
Поділитися на інших сайтах


файл - catalog\controller\product\category.php

находим строки

 

if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'p.sort_order';
}
и

 

if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'ASC';
}
 

меняем "p.sort_order" на нужное значение :

 

pd.name,

p.model,

p.quantity,

p.price,

rating,

p.date_added

 

думаю не сложно догадаться что значит каждое значение.Второе значение ASC меняем на DESC для сортировки по убыванию,соотвественно наоборот по увеличению.

 

Для изменения типа отображения по-умолчанию,для версии 2.x  в файл шаблона  catalog\view\theme\шаблон\template\product\category.tpl  

 

перед    <?php echo $footer; ?>  добавляем

 

<script>
if (!localStorage.getItem('display')) {
localStorage.setItem('display', 'list');
}
</script>
  • +1 7
Надіслати
Поділитися на інших сайтах

файл - catalog\controller\product\category.php

находим строки

 

if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'p.sort_order';
}
и

 

if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'ASC';
}
 

меняем "p.sort_order" на нужное значение :

 

pd.name,

p.model,

p.quantity,

p.price,

rating,

p.date_added

 

думаю не сложно догадаться что значит каждое значение.Второе значение ASC меняем на DESC для сортировки по убыванию,соотвественно наоборот по увеличению.

 

Для изменения типа отображения по-умолчанию,для версии 2.x  в файл шаблона  catalog\view\theme\шаблон\template\product\category.tpl  

 

перед    <?php echo $footer; ?>  добавляем

 

<script>
if (!localStorage.getItem('display')) {
localStorage.setItem('display', 'list');
}
</script>

Титанический труд.

Исчерпывающая информация.

Благодарю Вас, Tom!

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


  • 1 year later...
  • 4 months later...
  • 9 months later...
В 17.01.2017 в 15:51, Tom сказал:

$sort = 'p.sort_order';

Подскажите, стоит стандартная сортировка p.sort_order, но по-умолчанию всё равно сортирует не как надо если не ее не трогать. Но если поменять сортировку в категории, а потом переключится обратно на по-умолчанию - сортировка работает как надо. Шаблон дефолтный

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


Трижды перечитал и ни слова не понял

2 минуты назад, comers сказал:

сортирует не как надо если не ее не трогать. Но если поменять сортировку в категории, а потом переключится обратно на по-умолчанию - сортировка работает как надо

 

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

18 минут назад, Tom сказал:

Трижды перечитал и ни слова не понял

:? Тоже понял что не правильно написал

 

Когда заходим в категорию - стоит способ сортировки по-умолчанию (p.sort_order), но товар отсортирован не по порядку сортировки.

Если изменить способ сортировки, а потом вернуть назад - сортировка срабатывает правильно согласно sort=p.sort_order&order=ASC

но если из url удалить параметры сортировки, снова товар выводится не понятным способом по-умолчанию....

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


10 минут назад, Tom сказал:

Может фильтр какой то используйте

Использую слабенький, но он не влияет. У шаблона тоже нет настроек сортировки.

Если в контроллере поменять p.sort_order на любой другой (к примеру p.price) - сортировка по умолчанию меняется и работает правильно...

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


Только что, comers сказал:

Использую слабенький, но он не влияет

Запросто может влиять.

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

11 минут назад, Tom сказал:

Запросто влияет

Сделал поиск sort по всем файлам модуля, нашел только в одном файле, закомментил, обновил все кеши - результата нет. Связался с разработчиками фильтра, те подтвердили что он не влияет на сортировку.

Быть может проблема в самом p.sort_order...

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


  • 2 months later...
1 час назад, SerGan сказал:

вот бы еще  подсказку, как проданные товары  вниз списка опустить ...  т.е. нет в наличии в конец списка

это решение для OC1.5, но принцип такой же - добавить

(p.quantity>0) DESC
Надіслати
Поділитися на інших сайтах

  • 2 months later...
В 17.01.2017 в 15:51, Tom сказал:

файл - catalog\controller\product\category.php

находим строки

 

 


if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'p.sort_order';
}

и

 

 


if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'ASC';
}

 

меняем "p.sort_order" на нужное значение :

 

pd.name,

p.model,

p.quantity,

p.price,

rating,

p.date_added

 

думаю не сложно догадаться что значит каждое значение.Второе значение ASC меняем на DESC для сортировки по убыванию,соотвественно наоборот по увеличению.

 

Для изменения типа отображения по-умолчанию,для версии 2.x  в файл шаблона  catalog\view\theme\шаблон\template\product\category.tpl  

 

перед    <?php echo $footer; ?>  добавляем

 

 


<script>
if (!localStorage.getItem('display')) {
localStorage.setItem('display', 'list');
}
</script>

Tom как всегда помог, спасибо Вам огромное и побольше Вам денежных клиентов, Вы этого заслуживаете!!!)))))))) 

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


  • 10 months later...

Подскажите пожалуйста почему в сортировке по имени "Товар 10x1" оказывается впереди "Товар 1х1" и можно ли как то сделать чтобы по имени сортировало и с цифрами по порядку?

Товар 1х1

Товар 2х1

Товар 10х1

 

И еще вопрос другой, если порядок сортировки на товарах не указан, то можно ли все такие товары например относить в конец, а на тех что указан естественно в начало? Чтобы не надо было по всем товарам устанавливать порядок, а то пока не поставить то такие товары стоят в начале как будто у них порядок 0 стоит.

 

ocStore 2.3

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


  • 5 months later...
  • 1 month later...
В 17.01.2017 в 16:51, Tom сказал:

файл - catalog\controller\product\category.php

находим строки

 

 




if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'p.sort_order';
}

и

 

 




if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'ASC';
}

 

меняем "p.sort_order" на нужное значение :

 

pd.name,

p.model,

p.quantity,

p.price,

rating,

p.date_added

 

думаю не сложно догадаться что значит каждое значение.Второе значение ASC меняем на DESC для сортировки по убыванию,соотвественно наоборот по увеличению.

 

Для изменения типа отображения по-умолчанию,для версии 2.x  в файл шаблона  catalog\view\theme\шаблон\template\product\category.tpl  

 

перед    <?php echo $footer; ?>  добавляем

 

 




<script>
if (!localStorage.getItem('display')) {
localStorage.setItem('display', 'list');
}
</script>

меняем "p.sort_order" на нужное значение :

 

pd.name,

p.model,

p.quantity,

p.price,

rating,

p.date_added

 

 

А как отменить сортировку по умолчанию и принудительно задать сортировку выставив порядковый номер в карточке товара???

Я выставляю порядок тот который мне нужен, но шаблон выводит только по умолчанию (по цене, по наименованию и т.д)

 

У меня в файле стоит p.sort_order - по умолчанию, но по факту сортирует по цене. Куда копать???

 

Для редактирования карточек я использую модуль export/import. столбец sort_order.

Я выставляю порядок тот который мне нужен, но шаблон выводит только по умолчанию (по цене, по наименованию и т.д) не учитывает столбец sort_order

123.png

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


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

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

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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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