Товары с нулевой ценой в конце списка

#
Товары с нулевой ценой в конце списка
Добрый вечер.
Возникла проблема такого рода. Необходимо чтобы,при попадании на страницу каталога, товары сортировались по цене, при этом товары с нулевой ценой все шли в конце. Сейчас получается, что с начала отображаются товары с нулевой ценой.
Оч прошу помочь. Все устраивает, кроме этого.
#
Re: Товары с нулевой ценой в конце списка
А если в метод ShowShop() в ТДС Интернет-магазин передать
массив $param, которому перед этим задать элементы
$param['items_field_order'] = 'shop_items_catalog_price';
$param['items_order'] = 'Desc';

или не, не то?
Заказов не беру. Консультирую редко.
#
Re: Товары с нулевой ценой в конце списка
Не то.
В данном случае, как я и говорил получается вывод цен с первого товара по последний:

0 у.е.
0 у.е.
5 у.е.
10 у.е.
20 у.е.

Нужно чтобы было:
5 у.е.
10 у.е.
20 у.е.
0 у.е.
0 у.е.

Модератор
#
Re: Товары с нулевой ценой в конце списка
odyn,
$param['items_order'] = 'Asc';
#
Re: Товары с нулевой ценой в конце списка

HostCMS писал(а):
$param['items_order'] = 'Asc';


получается такой результат

0 у.е.
0 у.е.
5 у.е.
10 у.е.
20 у.е.
#
Re: Товары с нулевой ценой в конце списка
В строке $param['items_field_order'] = 'shop_items_catalog_price';
значение shop_items_catalog_price отвечает за сортировку по цене, если я правильно понял.

Нужно указать что-то пипа такого :
$param['items_field_order'] = 'shop_items_catalog_наличие,shop_items_catalog_price';
в данном случае сначала товары будут сортироваться по наличию. А затем, те, на которые есть цена, по цене.

Модератор
#
Re: Товары с нулевой ценой в конце списка
odyn,
Вы меняете направление сортировки, а оно не меняется? И при чем здесь наличие? Покажите целиком код вызова, а не фрагменты!
#
Re: Товары с нулевой ценой в конце списка
<?php
$shop_id = to_int($GLOBALS['LA']['shop_id']);
$xsl_name = to_str($GLOBALS['LA']['xsl_name']);

$param = array();
$external_propertys = array();

$param['xml_show_group_type'] = 'all';

$param['current_group_id'] = false;
$param['dec_reques_number'] = true;

$param['xml_show_group_property'] = false;
$param['show_text'] = false;
$param['xml_show_tying_products'] = false;
$param['xml_show_modification'] = false;

$param['items_on_page'] = 10;

$items_on_page = $param['items_on_page'];

$page = end($GLOBALS['URL_ARRAY']);
$page = to_str($page);

/* Число элементов на странице */
$on_page = to_int($_GET['on_page']);
if ($on_page > 0 && $on_page < 150)
{
   $param['items_on_page'] = $on_page;
   $external_propertys['on_page'] = $on_page;

   /* Применять фильтр */
   $external_propertys['apply_filter'] = true;
}

// Определяем номер страницы.
if ($on_page)
{
   $items_on_page = $on_page;
}
if (ereg("^page-([0-9]*)$", $page, $regs) && to_int($regs[1]) > 1)
{
   /* Страница умножается на кол-во элементов, выводимых на страницу */
   $items_begin = ($regs[1] - 1) * $items_on_page;
}
else
{
   $items_begin = 0;
}

$param['items_begin'] = $items_begin;

$param['items_field_order'] = 'shop_items_catalog_price';
$param['items_order'] = 'Asc';

$param['group_field_order'] = 'shop_groups_id';
$param['group_order'] = 'Asc';

$shop = new shop();
$shop->ShowShop($shop_id, $xsl_name, $param, $external_propertys);
?>
#
Re: Товары с нулевой ценой в конце списка
HostCMS писал(а):
Вы меняете направление сортировки, а оно не меняется? И при чем здесь наличие? Покажите целиком код вызова, а не фрагменты!


Такое чуство, что мы разговариваем на разных языках.
Я про А, Вы про Б.
#
Re: Товары с нулевой ценой в конце списка
Так и не поступило ни одного точного ответа
Авторизация