Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

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


Recommended Posts

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

Нужно:

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

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

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

Спасибо.

Link to post
Share on other sites

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

  • +1 2
Link to post
Share on other sites

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

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

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

} else {
  $sort = 'p.sort_order';
}
  • +1 1
Link to post
Share on other sites

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

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

Edited by ocus
  • +1 2
Link to post
Share on other sites

файл - 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 3
Link to post
Share on other sites

файл - 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
Link to post
Share on other sites

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

$sort = 'p.sort_order';

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

Edited by comers
Link to post
Share on other sites

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

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

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

 

  • +1 1
Link to post
Share on other sites
18 минут назад, Tom сказал:

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

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

 

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

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

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

Edited by comers
Link to post
Share on other sites

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

Link to post
Share on other sites
10 минут назад, Tom сказал:

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

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

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

Link to post
Share on other sites

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

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

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

Edited by Tom
Link to post
Share on other sites
11 минут назад, Tom сказал:

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

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

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

Link to post
Share on other sites

  • 2 months later...

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

Link to post
Share on other sites

1 час назад, SerGan сказал:

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

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

(p.quantity>0) DESC
Link to post
Share on other sites
4 часа назад, Blast сказал:

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


(p.quantity>0) DESC

спасибо ! помогло! 

Link to post
Share on other sites

 с товаром разобрался, а вот всех производителей вывожу на главной, как его отсортировать ? в каком файле ?

image.png.cba7e6eda5511bb3710209d00097fc4a.png

Link to post
Share on other sites

  • 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 как всегда помог, спасибо Вам огромное и побольше Вам денежных клиентов, Вы этого заслуживаете!!!)))))))) 

Link to post
Share on other sites

  • 10 months later...
Posted (edited)

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

Товар 1х1

Товар 2х1

Товар 10х1

 

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

 

ocStore 2.3

Edited by mscbro
Link to post
Share on other sites

  • 5 months later...

Кто знает как сделать сортировку по новинкам, но что б работала сортировка по Разделу "Данные" "Порядок сортировки" ?

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.