joomix

Блог

Сортировка по производителю Опенкарт 2

Привет, друзья.

 

Очень странно, но как есть- разработчики Опенкарт почему то не предусмотрели сортировку по  ID производителя в категориях.

Эта функция очень важна  мультибрендовым магазинам. Поэтому, сегодня мы постараемся решить эту проблему вместе в Вами.

 

Идем в файл - catalog/controller/product/category.php

после строк:

'value' => 'p.model-DESC',

  'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url)

 );

 

добавляем:

$this->data['sorts'][] = array(

'text'  => $this->language->get('text_manufacturer_asc'),

'value' => 'p.manufacturer_id-ASC',

'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.manufacturer_id&order=ASC' . $url)

);

$this->data['sorts'][] = array(

'text'  => $this->language->get('text_manufacturer_desc'),

'value' => 'p.manufacturer_id-DESC',

'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.manufacturer_id&order=DESC' . $url)

);

 

Переходим к файлу - catalog/language/russian/product/category.php

добавляем:

$_['text_manufacturer_asc']    = 'Производитель (А- Я)';

$_['text_manufacturer_desc']   = 'Производитель (Я - А)';

 

 

в файл - catalog/model/catalog/product.php

после:

if (!$product_data) {

 

 

$sql = "SELECT p.product_id,

добавить:

 p.manufacturer_id,

заменить:

'p.date_added'

на:

'p.date_added',

'p.manufacturer_id'

 

После выше проделанных правок не забудьте очистить кеш!

 

Если Вы все правильно сделали, в категории у Вас появится сортировка по производителю.