Помощь Комбинации, Наличие, Сортировка товаров.

Azarn1k

Постоялец
Регистрация
2 Сен 2012
Сообщения
165
Реакции
105
Здравствуйте. Есть несколько вопросов, которые уже как месяц не могу решить. Может кто стыкался с подобным или поможет с решением.
Итак, установлена PS 1.6.1.9
1. По умолчанию сортировка товара стоит по позиции в категории, есть не мало выпавшего (недоступного). Каким образом сделать так, чтобы товар у которого количество 0 выводился в конце списка.
Видел решение Нужно править /classes/Category.php
Код:
  $sql .= ' ORDER BY p.`quantity` DESC,'.(isset($orderByPrefix) ? $orderByPrefix.'.' : '').'`'.pSQL($orderBy).'` '.pSQL($orderWay).'
  LIMIT '.((intval($p) - 1) * intval($n)).','.intval($n);
  }
У меня не работает.
2. Комбинации и количество. Есть товары у которых 250+ комбинаций. Хоть и их смотреть визульно достаточно удобно (Для просмотра ссылки Войди или Зарегистрируйся). Но есть и те комбинации которых нет в наличии. Возможно ли сделать что бы комбинации которых нет в наличии так же паали вниз. Или текстура ставала серой.

Спасибо за понимание.
 
я вот так сделал:
h_1480630802_9833849_d4e78e1139.png

кодом пока не поделюсь - функционал ещё дорабатывается.
 
в эдвансед сеарч есть функция отображать только товар в наличии.
 
1. По умолчанию сортировка товара стоит по позиции в категории, есть не мало выпавшего (недоступного). Каким образом сделать так, чтобы товар у которого количество 0 выводился в конце списка.
Видел решение Нужно править /classes/Category.php
Код:
  $sql .= ' ORDER BY p.`quantity` DESC,'.(isset($orderByPrefix) ? $orderByPrefix.'.' : '').'`'.pSQL($orderBy).'` '.pSQL($orderWay).'
  LIMIT '.((intval($p) - 1) * intval($n)).','.intval($n);
  }
У меня не работает.

У меня так -
Код:
if ($random === true) {
            $sql .= ' ORDER BY RAND() LIMIT '.(int)$random_number_products;
        } else {
            $sql .= ' ORDER BY stock.quantity>0 desc,'.(!empty($order_by_prefix) ? $order_by_prefix.'.' : '').'`'.bqSQL($order_by).'` '.pSQL($order_way).'
            LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n;
        }
Работает, но хотелось бы сделать подобное и на странице поиска, бестселлеров, акций и т.д.
 
Назад
Сверху