У меня есть порядок сортировки по умолчанию для всех категорий по цене low-high (p.date_added ASC
), но для конкретной категории пример «новые продукты». Я хочу, чтобы сортировка была p.date_added DESC
.opencart сортировка только для определенной категории
В `каталог/контроллер/продукта/category.php у меня есть:
<?php class ControllerProductCategory extends Controller {
public function index() {
$this->language->load('product/category');
$this->load->model('catalog/category');
$this->load->model('catalog/product');
$this->load->model('tool/image');
if (isset($this->request->get['filter'])) {
$filter = $this->request->get['filter'];
} else {
$filter = '';
}
if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'p.price';
}
if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'ASC';
}
Как я могу сделать для категории "Новые продукты" Рода p.date_added DESC
?
Я пробовал:
if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'p.price';
}
if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else (isset($category_id) && $category_id == '109') {
$sort = 'p.date_added';
}
Но не работает.
Thank you.
Я добавил код в контроллере после линии: F (Исеть ($ this-> request-> ПОЛУЧИТЬ [ 'страницы'])) { \t \t \t $ страница = $ this-> request-> получить [ 'страница']; \t \t} else { \t \t \t $ page = 1; \t} и doesent work, он изменяет идентификатор всех категорий на сортировку по умолчанию –
Вы изменили ключ массива в соответствии с идентификатором вашей категории? Это был только пример, так как я не могу догадываться, какой идентификатор категории вы используете. Поскольку вы обновили свой вопрос, я предполагаю, что это 109. – billynoah
да, я отредактировал массив для моей конкретной категории –