Вітаю шановний відвідувач на сторінках нашого сайту. Сьогодні, в даній статті ми розглянемо приклад як поміняти сортування товарів на вітрині opencart.
Сортування товарів в категорії opencart не завжди влаштовує користувача, і часто при створенні інтернет магазину клієнти хочуть змінити сортування те що за замовчуванням на якийсь інший вид сортування, наприклад щоб в категорії товар сортувався по новинках, тобто за датою надходження, ось цей приклад ми і розглянемо в даній статті, а саме будемо робити сортування в категорії opencart по новинкам.
Хочу зазначити що даний приклад зміни сортування товару підходить не тільки для сторінки категорії, але і для інших сторінок де є можливість вибору сортування, це пошук, виробники. акції и.т.п ...
І так як поміняти сортування відображення товарів в категорії OpenCart, що для цього потрібно ?!
А потрібно всього лише внести зміни в файл /catalog/controller/product/category.php а також в мовний файл /catalog/language/russian/product/category.php.
Якщо ж ви робите сортування товарів для інших сторінок то файли змінювати потрібно відповідно ті які відповідають за дані сторінки, наприклад якщо ви змінюєте сортування на сторінці виробників то змінюємо файл /catalog/controller/product/manufacturer.php , ну я думаю тут все зрозуміло .
Розглянемо які є варіанти сортування товарів в opencart:
- ‘p.sort_order’, – сортування товарів, за замовчуванням.
- ‘p.date_added’ – сортування товарів за датою надходження.
- ‘p.price’, – сортування товарів за ціною.
- ‘pd.name’, – сортування товарів по імені.
- ‘p.model’, – сортування товарів по моделі.
- ‘p.quantity’, – сортування товарів за кількістю.
- ‘rating’, – сортування товарів по рейтингу.
DESC - сортування товарів по зростанню,
ASC - сортування товарів по порядку зменшення.
Дані значення сортування ви можете використовувати на свій розсуд в залежності від того який вид сортування товарів вас цікавить. Нас же цікавить конкретно 'p.date_added' так як ви пам'ятаєте я спочатку писав, що за приклад ми будемо робити сортування за датою надходження товарів тобто по новинкам.
І так приступимо, і в першу чергу установимо сортування за датою надходження за замовчуванням.
Як я вже писав раніше зміни вносити потрібно в файл /catalog/controller/product/category.php , відриваємо його для редагування вашим улюбленим редактором, я особисто користуюся завжди notepad ++.
На початку даного файлу знаходимо шматок такого коду:
1 2 3 4 5 6 7 8 9 |
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'; |
І в ньому нам потрібно змінити:
1 2 3 |
$sort = 'p.sort_order'; на $sort = 'p.date_added'; |
А також щоб змінити порядок виведення списку товарів (За зменшенням/За зростанням) змініть значення:
1 |
$order = 'ASC'; |
DESC - нові товари зверху, потім старі,
ASC - старі товари зверху потім нові.
Ось власне і все, ви змінили сортування товарів за замовчуванням по новинках, тепер у вас в списку товарів будуть відображатися спочатку товари які ви останніми додали а після йтимуть ті що були додані пізніше.
Наступним пунктом я пропоную вам додати в список, вибору сортування можливість вибору користувачем потрібного йому сортування в даному випадку як ви пам'ятаєте ми говоримо про сортування за датою надходження.
Знову відкриваємо файл /catalog/controller/product/category.php або якщо ви його ще не закрили то залишаємося в ньому ж і продовжуємо вносити зміни.
Знаходимо ділянку коду:
1 2 3 4 5 |
$this->data['sorts'][] = array( 'text' => $this->language->get('text_date_desc'), 'value' => 'p.sort_order-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) ); |
І відразу ж за цим кодом додаємо наступний код:
1 2 3 4 5 6 7 8 9 10 |
$this->data['sorts'][] = array( 'text' => $this->language->get('text_date_desc'), 'value' => 'p.date_added-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.date_added&order=DESC' . $url) ); $this->data['sorts'][] = array( 'text' => $this->language->get('text_date_asc'), 'value' => 'p.date_added-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.date_added&order=ASC' . $url) ); |
Все даний файл можна сміливо закривати. Але у нас ще залишився один файл для змін це /catalog/language/russian/product/category.php в ньому нам потрібно вказати назви (текст) який буде відображений у випадаючому списку вибору сортування.
Додайте в зазначений мовний файл наступні рядки:
1 2 |
$_['text_date_asc'] = 'Спочатку старі товари'; $_['text_date_desc'] = 'Спочатку нові товари'; |
Ну ось, в принципі і все що потрібно було зробити для зміни сортування товарів в інтернет магазині opencart.
Думаю стаття буде вам корисна, якщо це так буду радий оцінці вгорі сторінки або коментарю!
Немає коментарів
Ви можете залишити коментар першим.