Добрый день. Помогите пожалуйста. Как сделать сортировку товаров по просмотрам за последние 3 дня? Спасибо.
За последние 3 дня врядли Вам кто то подскажет, так как информацыя о том когда был просмотр товара и в которое время ... нигде не фиксируется опенкартом. А за просмотрами сортировку организовать легко, начните с контролера категорий
Спасибо за быстрый ответ. Код: 'sort' => 'p.viewed', Сделал такой запрос , но товары выводиться не по просмотрам. Где ошибка?
не знаю где и в какой массив Вы ето вписали но ето явно не запрос и тем боле одной строчки маловато ) начинайте смотреть catalog/controller/product/category.php а именно в начало файла и потом начиная с $this->data['sorts'] = array();
Если б это был фреймворк, может, такого бы и хватило. А так нужно редактировать модель /catalog/model/catalog/product.php. Контроллер, кстати, можно было не трогать. В него нужно вносить изменения только, если вы хотите добавить сортировку по просмотрам к списку сортировок на странице. В /catalog/model/catalog/product.php функция getProducts. Блок кода внутри PHP: if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { Добавляете ко всем ORDER BY ваш p.viewed. Это если всегда нужно сортировать по просмотрам. Если нужно добавить эту сортировку к списку выбора, то в модели p.viewed добавляете в массив $sort_data (чуть выше предыдущего блока). А в контроллере /catalog/controller/product/category.php находите и копируете этот код: PHP: $this->data['sorts'][] = array( 'text' => $this->language->get('text_model_desc'), 'value' => 'p.model-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url) ); И заменяете text_model_desc - на текст описания сортировки (нужно создать языковую переменную в соответствующем языковом файле). p.model заменяете на p.viewed Потом копируете ещё раз и заменяете DESC на ASC (ASC - по возростанию, DESC - по убыванию).
Сделал все как Вы написали, но у меня по прежнему отображается сортировка: "по-умолчанию" что я мог упустить?
Так оно должно было просто добавиться в список на странице. У вас есть выпадающий список с вариантами сортировки? В нём должны были появиться новые пункты.
Нашел решение Нужно было добавить в /catalog/model/catalog/product.php Код: Где $sort_data = array( Добавить 'viewed', И будет работать сортировка по просмотрам