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

Dopekuha

Новачок
  
  • Публікації

    1
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Dopekuha

  1. Я сделал это в модели. Мне надо что бы товары которых нет в наличии были внизу списка при любой сортировке.

     

    catalog\model\catalog\product.php  (187 line для OpenCart 1.5.6.1)

    		if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
    			if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
    				$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
    			} elseif ($data['sort'] == 'p.price') {
    				$sql .= " ORDER BY (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
    			} else {
    				$sql .= " ORDER BY " . $data['sort'];
    			}
    		} else {
    			$sql .= " ORDER BY p.sort_order";	
    		}
    

    меняем на 

    if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
    			if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
    				$sql .= " ORDER BY (p.quantity>0) DESC, LCASE(" . $data['sort'] . ")";
    			} elseif ($data['sort'] == 'p.price') {
    				$sql .= " ORDER BY (p.quantity>0) DESC, (CASE WHEN special IS NOT NULL THEN special WHEN discount IS NOT NULL THEN discount ELSE p.price END)";
    			} else {
    				$sql .= " ORDER BY (p.quantity>0) DESC," . $data['sort'];
    			}
    		} else {
    			$sql .= " ORDER BY (p.quantity>0) DESC, p.sort_order";	
    		}
    

    Так же я решил вообще не показывать в похожих продуты, которых нет в наличии. Для этого в функции getProductRelated добавляем условие: p.quantity > 0

    При желании можно тоже отображать в конце по аналогии с категорией. Ну и тоже самое в бестселлерах, популярных, последних и т.п.

     

    P.S. Не знаю насколько это решение правильное и красивое, но работает.

     

    Neurotechnic подскажите как дополнить, я сделал как Вы написали и все работает. Но есть одно "но" - только для первой страницы товаров, при переходе на вторуюподследующую товары вразброс -

    Вопрос - как сделать что-бы товары без наличия уходили в сымый конец списка?

    OpenCart Версия 1.5.6.4
×
×
  • Створити...

Important Information

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