Перейти к содержанию
rabb1tkhv

[Решено] Сортировка товаров по дате добавления и артикулу

Рекомендуемые сообщения

Кто нибудь пробовал сделать подобное? Если не жалко - дайте решение в паблик =(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сортировка товаров по дате поступления. ocStore v0.2.2 (OpenCart 1.4.9.4)

В файле:

catalog/controller/product/category.php

Найти (78 строка):

if (isset($this->request->get['sort'])) {

$sort = $this->request->get['sort'];

} else {

$sort = 'p.sort_order';

}

if (isset($this->request->get['order'])) {

$order = $this->request->get['order'];

} else {

$order = 'ASC';

}

изменить на это:

if (isset($this->request->get['sort'])) {

$sort = $this->request->get['sort'];

} else {

$sort = 'p.date_added';

}

if (isset($this->request->get['order'])) {

$order = $this->request->get['order'];

} else {

$order = 'DESC';

}

Найти (205 строка):

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

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

'value' => 'pd.name-ASC',

'href' => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC')

добавить код и сохранить в кодировке UTF-8:

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

'text' => 'Дате поступления',

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

'href' => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . '&sort=p.date_added&order=DESC')

);

Добавляем в файл:

catalog/model/catalog/product.php

(18 строка) вот это: 'p.date_added',

должно быть так:

$sort_data = array(

'p.date_added',

'pd.name',

'p.sort_order',

'special',

'rating',

'p.price',

'p.model'

);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сортировка товаров по дате поступления. ocStore v0.2.2 (OpenCart 1.4.9.4)

В файле:

catalog/controller/product/category.php

Найти (78 строка):

if (isset($this->request->get['sort'])) {

$sort = $this->request->get['sort'];

} else {

$sort = 'p.sort_order';

}

if (isset($this->request->get['order'])) {

$order = $this->request->get['order'];

} else {

$order = 'ASC';

}

изменить на это:

if (isset($this->request->get['sort'])) {

$sort = $this->request->get['sort'];

} else {

$sort = 'p.date_added';

}

if (isset($this->request->get['order'])) {

$order = $this->request->get['order'];

} else {

$order = 'DESC';

}

Найти (205 строка):

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

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

'value' => 'pd.name-ASC',

'href' => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC')

добавить код и сохранить в кодировке UTF-8:

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

'text' => 'Дате поступления',

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

'href' => $this->model_tool_seo_url->rewrite(HTTP_SERVER . 'index.php?route=product/category&path=' . $this->request->get['path'] . '&sort=p.date_added&order=DESC')

);

Добавляем в файл:

catalog/model/catalog/product.php

(18 строка) вот это: 'p.date_added',

должно быть так:

$sort_data = array(

'p.date_added',

'pd.name',

'p.sort_order',

'special',

'rating',

'p.price',

'p.model'

);

А в версии ocStore v1.5.1.3 тоже самое нужно сделать Подскажите пожалуйста

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в версии ocStore v1.5.1.3 тоже самое нужно сделать Подскажите пожалуйста

Там еще легче! ищем в файле: catalog/controller/product/category.php

15 строка $sort = 'p.sort_order'; меняем на $sort = 'p.date_added';

и это

21 строка $order = 'ASC'; меняем на $order = 'DESC';

Все в категориях при сортировке по умолчанию, товары будут сортироваться по мере добавления

  • +1 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите пожалуйста, как сделать сортировку по наличию?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А для opencart 1.5.4.1 кто-нибуть подскажет как сделать такую сортировку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для версии 1.5.4.1 надо в Контроллере прописать вот эти строки:

 

$this->data['sorts'][] = array(
            'text' => 'Дате поступления',
            'value' => 'p.date_added-DESC',
            'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.date_added&order=DESC' . $url)
            );
 
 
P.S. авторский вариант приведет к показу белого экрана
Успехов!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В ocStore 1.5.5.1.2 кто нибудь подобное делал? Очень нужно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в админке как сделать чтобы сортировка по дате добавления или номеру артикула, модели было?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите как сделать в 1.5.5.1.2.

Решения что выше не работают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там еще легче! ищем в файле: catalog/controller/product/category.php

 

Подскажите пожалуйста как сделать в 1.5.5.1.2. ???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите пожалуйста как сделать в 1.5.5.1.2. ???

 

В файле catalog/controller/product/category.php находим следующие строчки:

if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'p.sort_order';
}

if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'ASC';
} 

И меняем их на:

if (isset($this->request->get['sort'])) {
$sort = $this->request->get['sort'];
} else {
$sort = 'p.date_added';
}

if (isset($this->request->get['order'])) {
$order = $this->request->get['order'];
} else {
$order = 'DESC';
}

Далее находим:

$this->data['sorts'][] = array(
'text'  => $this->language->get('text_default'),
'value' => 'p.sort_order-ASC',
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url)
);

И меняем на:

$this->data['sorts'][] = array(
'text'  => $this->language->get('text_date_desc'),
'value' => 'p.date_added-DESC',
'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.date_added&order=DESC' . $url)
);

В файле catalog/language/russian/product/category.php добавляем строку:

$_['text_date_desc']    = 'По дате поступления';

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

В файле catalog/controller/product/category.php находим следующие строчки

 не подскажите, как сделать сортировку по дате добавления или лучше дате изменения в админке?? То что описано, это оказывается на витрине сайта, ищу как в админке поменять сортировку, версия  1.5.5.1.2

Изменено пользователем shumock

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет.
А вариант похожих манипуляций для ocStore 2.3 подскажет кто-нибудь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 27.05.2018 в 11:58, Fol сказал:

А вариант похожих манипуляций для ocStore 2.3 подскажет кто-нибудь?

catalog/controller/product/category.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)
			);

после добавляем

	$data['sorts'][] = array(
				'text'  => $this->language->get('text_date_added'),
				'value' => 'p.date_added-DESC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.date_added&order=DESC' . $url)
			);

catalog/language/ru-ru/product/category.php

добавляем

$_['text_date_added']  = 'По дате добавления(новые сначала)';

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовал сделать по мануалу чет не получаеться Error 500 Может кто то подскажет в чем может быть заминка?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.