public function getFrontItems($root_cat_id=0) { if ($root_cat_id){ $rootcat = $this->inDB->get_fields('cms_shop_cats', 'id='.$root_cat_id, 'NSLeft, NSRight'); $catsql = "i.category_id = c.id AND c.NSLeft >= {$rootcat['NSLeft']} AND c.NSRight <= {$rootcat['NSRight']}"; } $this->where('i.is_front = 1'); if ($root_cat_id) { $this->where($catsql); } $this->groupBy('i.id'); return $this->getItems(); }
перед $this->groupBy('i.id');
добавьте
$this->orderBy('i.title');
и будет сортировка по названию
Для модуля витрины вывод товаров обусловлен функцией
public function getFrontItems($root_cat_id=0) { if ($root_cat_id){ $rootcat = $this->inDB->get_fields('cms_shop_cats', 'id='.$root_cat_id, 'NSLeft, NSRight'); $catsql = "i.category_id = c.id AND c.NSLeft >= {$rootcat['NSLeft']} AND c.NSRight
Спасибо вам за ответ. А можно ли применить такой метод только к одной из витрин? И Хотелось бы установить сортировку по артикулу, замена i.title на i.vendor / i.vendor_id не повлияло на результат, думаю я просто не правильно пишу название
Для модуля витрины вывод товаров обусловлен функцией
public function getFrontItems($root_cat_id=0) { if ($root_cat_id){ $rootcat = $this->inDB->get_fields('cms_shop_cats', 'id='.$root_cat_id, 'NSLeft, NSRight'); $catsql = "i.category_id = c.id AND c.NSLeft >= {$rootcat['NSLeft']} AND c.NSRight
Спасибо вам за ответ. А можно ли применить такой метод только к одной из витрин? И Хотелось бы установить сортировку по артикулу, замена i.title на i.vendor / i.vendor_id не повлияло на результат, думаю я просто не правильно пишу название
Можно, если дописать в админке модуля выбор сортировки, ну и соответственно этот выбор подставлять в самом модуле.
Зайдите в БД и посмотрите какие поля есть в таблице "cms_shop_items", по ним и можно будет делать сортировку.
Артикул имеет поле не vendor_id(производитель), а "art_no"