Как сделать чтобы раздел с товарами по умолчанию была сортировка по артикулам от а до я. http://imchasov.ru/diesel
В файле /catalog/controller/product/category.php Найти PHP: if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } Заменить на: PHP: if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sku'; } Найти: PHP: $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) ); Добавить ниже: PHP: $data['sorts'][] = array( 'text' => $this->language->get('text_sku_asc'), 'value' => 'p.sku-ASC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sku&order=ASC' . $url) ); $data['sorts'][] = array( 'text' => $this->language->get('text_sku_desc'), 'value' => 'p.sku-DESC', 'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sku&order=DESC' . $url) ); В файле /catalog/model/catalog/product.php Найти и перед: PHP: 'p.date_added' Добавить : PHP: 'p.sku', В файле /catalog/language/russian/product/category.php Найти: PHP: $_['text_model_desc'] = 'Модель (Я - А)'; Ниже добавить: PHP: $_['text_sku_asc'] = 'Артикул (А- Я)';$_['text_sku_desc'] = 'Артикул (Я - А)';
На некоторых версиях движка не прокатит) Нужно изменить: Код: $data['sorts'][] = array( на: Код: $this->data['sorts'][] = array( Тогда пойдет! К примеру, у меня на 1.5.6.4 пришлось менять сей строчку, но RoS огромное спасибо за исходник)
В основном все решения для 2х. Темы для 1.5 помечены маркером "1.5" Но иногда как вы и написали, достаточно простой замены на $this->data
Этого мало, нужно в это условие: PHP: if (isset($data['sort']) && in_array($data['sort'], $sort_data)) Добавить: PHP: elseif ($data['sort'] == 'p.sku') { $sql .= " ORDER BY CAST(" . $data['sort'] . " as unsigned)"; }