Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Сортировать товары по ПРОСМОТРАМ. Как сделать?


Recommended Posts

По умолчанию опенкарт предполагает сортировку товаров в категории:

1. По имени

2. По цене

3. По рейтингу

4. По модели

Как добавить, заменить или переделать, чтобы была сортировка по самым "популярным" (посещаемым) товарам?

Надіслати
Поділитися на інших сайтах


18 минут назад, alinalessioYandex сказал:

Как добавить, заменить или переделать, чтобы была сортировка по самым "популярным" (посещаемым) товарам?

добавить/изменить в свой код запроса модели товара вот такой код сортировки -

p.`viewed` DESC

 

Надіслати
Поділитися на інших сайтах

8 часов назад, vier сказал:

добавить/изменить в свой код запроса модели товара вот такой код сортировки -


p.`viewed` DESC

 

Простите. Туплю )) Эта строчка для контроллера, правильно? Если да, то в каком месте в контроллере речь о сортировке? Или это в шаблоне прописать? Можно подробней?

Надіслати
Поділитися на інших сайтах


Сделал так. Но не работает. Помогите пожалуйста, как правильно сделать? Хочу просто чтобы по умолчанию сортировалось по просмотрам. Самые просматриваемые вверху.

В файле catalog/controller/product/category.php

Было:

$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)
			);

Стало:

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

 

Надіслати
Поділитися на інших сайтах


 

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

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

 

 

в моделе добавим по пути catalog\model\catalog\product.php
после                 'date_modified'    => $query->row['date_modified'],

                'viewed'           => $query->row['viewed']

Надіслати
Поділитися на інших сайтах

19 минут назад, Ptenec сказал:

в моделе добавим по пути catalog\model\catalog\product.php
после                 'date_modified'    => $query->row['date_modified'],

                'viewed'           => $query->row['viewed']

Зачем?

Надіслати
Поділитися на інших сайтах

3 часа назад, alinalessioYandex сказал:

Помогите пожалуйста, как правильно сделать? Хочу просто чтобы по умолчанию сортировалось по просмотрам. Самые просматриваемые вверху.

 

Надо в файле 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.viewed';
		}

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

найти

			$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)
			);

и изменить вот так

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

 

В файле catalog/model/catalog/product.php

найти

		$sort_data = array(
			'pd.name',
			'p.model',
			'p.quantity',
			'p.price',
			'rating',
			'p.sort_order',
			'p.date_added'
		);

и изменить вот так

		$sort_data = array(
			'pd.name',
			'p.model',
			'p.quantity',
			'p.price',
			'rating',
			'p.sort_order',
			'p.viewed',
			'p.date_added'
		);

 

А теперь верни всё как было и установи модификатор )

default_order_by_viewed.ocmod.xml

  • +1 7
Надіслати
Поділитися на інших сайтах

  • 1 year later...

Доброе время суток. Извините, как можно доделать, что бы не выводилась не нужная сортировка в шаблоне (к примеру не нужно По цене По модели...)

И как можно сделать по product.latest. product.popular. product.bestseller.

Змінено користувачем lutuy
Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
В 24.10.2019 в 23:46, Yesvik сказал:

 

Надо в файле 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.viewed';
		}

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

найти


			$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)
			);

и изменить вот так


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

 

В файле catalog/model/catalog/product.php

найти


		$sort_data = array(
			'pd.name',
			'p.model',
			'p.quantity',
			'p.price',
			'rating',
			'p.sort_order',
			'p.date_added'
		);

и изменить вот так


		$sort_data = array(
			'pd.name',
			'p.model',
			'p.quantity',
			'p.price',
			'rating',
			'p.sort_order',
			'p.viewed',
			'p.date_added'
		);

 

А теперь верни всё как было и установи модификатор )

default_order_by_viewed.ocmod.xml 1 \u043a\u0411 · 34 downloads

 

Спасибо за модификатор! Отлично работает. Сборка ocStore 2.3.0.2.3

Надіслати
Поділитися на інших сайтах


  • 1 year later...
24.10.2019 в 22:46, Yesvik сказал:

 

Надо в файле 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.viewed';
		}

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

найти

			$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)
			);

и изменить вот так

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

 

В файле catalog/model/catalog/product.php

найти

		$sort_data = array(
			'pd.name',
			'p.model',
			'p.quantity',
			'p.price',
			'rating',
			'p.sort_order',
			'p.date_added'
		);

и изменить вот так

		$sort_data = array(
			'pd.name',
			'p.model',
			'p.quantity',
			'p.price',
			'rating',
			'p.sort_order',
			'p.viewed',
			'p.date_added'
		);

 

А теперь верни всё как было и установи модификатор )

default_order_by_viewed.ocmod.xml 1 \u041a\u0431 · 80 скачиваний

А для OcStore 3.0.3.7 есть такой модификатор?

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.