Opencart 2.3 Поделюсь, может кому поможет. Идея такая - выводить определенные товары на главной. Модуль рекомендованные не подходит. Почему ? 1000 товаров, к каждому товару свои рекомендуемые.
Нужно просто - есть товар - вывести его на главной
Решил использовать последние добавленные. Находим файлы
catalog\model\catalog\product
ищем функцию public function getProducts
Копируем ее и называем public function getProductsMain
в ней есть строка
$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id)
WHERE pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' and p.mpn <>''"; - добавляем выделенное
Находим массив
$sort_data = array(
'pd.name',
'p.model',
'p.quantity',
'p.price',
'rating',
'p.sort_order', //'p.date_added' - комментируем
'p.mpn' - ставим. Это будет сортировка товаров
);
----------------------------
идем
catalog\controller\extention\modile\latest.php
ищем $results = $this->model_catalog_product->getProducts($filter_data);
меняем
$results = $this->model_catalog_product->getProductsMain($filter_data);
Далее в админке идем в товар, выбираем данные. Там есть инпут MPN В нем пишем 0 и сохраняем. Выбираем другой товар , в mpn ставим 2 и т.д.
Это нужно, чтобы отработала сортировка и товары показались в нужной последовательности