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

sdfgdfgdsfg

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

    6
  • З нами

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

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

  1. В 15.07.2014 в 00:29, Neurotechnic сказал:

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

     

    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. Не знаю насколько это решение правильное и красивое, но работает.

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

  2. В 12.01.2017 в 14:06, dexteron сказал:

    Сам спросил - сам отвечу  :-)

     

    Для этого нужно в контроллере футера

    catalog/controller/common/footer.php

    добавить:

    
    $this->load->model('setting/setting');
    $data['module_name'] = $this->model_setting_setting->getSetting('module_name');

    И теперь нам доступна переменная $module_name с настройками модуля тут:

    /catalog/view/theme/*/template/common/footer.tpl

     

    Спасибо, выручил))

×
×
  • Створити...

Important Information

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