Выборка товаров с "суперценой"

#
Re: Выборка товаров с "суперценой"
vkharkov писал(а):
не хватает LEFT JOIN shop_prices_to_item_table, как это можно решить?
- добавить указание объединения таблиц можно через параметр $param['sql_from'], имеющий строковый тип, который принимает метод ShowShop(возможно, в API данный параметр не описан).
#
Re: Выборка товаров с "суперценой"
Сделал так:

$element['property_id'] = '';
$element['type'] = 0;
$element['prefix'] = '';
$element['if'] = '';

$element['value'] = '';

$element['sufix'] = " and shop_prices_to_item_table.shop_list_of_prices_id=4 and shop_prices_to_item_table.shop_list_of_prices_id=shop_items_catalog_table.shop_items_catalog_item_id";
$param['select'][] = $element;
$param['sql_from'] = ', shop_prices_to_item_table';

Результат, ошибка:

Замечание: Undefined index: name в файле www/modules/shop/shop.class.php (строка 23203)
Замечание: Undefined index: name в файле www/modules/shop/shop.class.php (строка 4237)
#
Re: Выборка товаров с "суперценой"
сорри, изменил

$element['sufix'] = " and shop_prices_to_item_table.shop_list_of_prices_id=4 and shop_prices_to_item_table.shop_items_catalog_item_id=shop_items_catalog_table.shop_items_catalog_item_id";

но все равно тот же результат
#
Re: Выборка товаров с "суперценой"

$shop_id = '3';
$param = array();
$AllDiscount = $shop->GetAllDiscounts(3);
if ($AllDiscount){
   $param['select_discount'] = array();

   while ($row = mysql_fetch_assoc($AllDiscount))
   {   
      $param['select_discount'][] = $row['shop_discount_id'];
   }
}
$element['property_id'] = '';
$element['type'] = 0;
$element['prefix'] = '';
$element['if'] = '';

$element['value'] = '';

$element['sufix'] = " or shop_prices_to_item_table.shop_list_of_prices_id=4";
$param['select'][] = $element;
$param['sql_from'] = 'LEFT JOIN shop_prices_to_item_table ON shop_prices_to_item_table.shop_items_catalog_item_id=shop_items_catalog_table.shop_items_catalog_item_id';
                                   $param['items_on_page'] = 36;
                                   $param['current_group_id'] = false;
                                   $param['items_order']='Rand';
                                   $param['group_order']='Rand';
                                   $param['xml_show_modification']=false;

                 $shop->ShowShop($shop_id, 'КаталогТоваровНаГлавной', $param);

Вот так уже частично показало результат
#
Re: Выборка товаров с "суперценой"
но ошибка
Цитата:

Замечание: Undefined index: name в файле /home/evropava/evropa-vam.ru/www/modules/shop/shop.class.php (строка 23203)
Замечание: Undefined index: name в файле /home/evropava/evropa-vam.ru/www/modules/shop/shop.class.php (строка 4237)

все равно есть
#
Re: Выборка товаров с "суперценой"
piko, попробуйте вместо:
$element['property_id'] = '';
$element['type'] = 0;
$element['prefix'] = '';
$element['if'] = '';

$element['value'] = '';

$element['sufix'] = " or shop_prices_to_item_table.shop_list_of_prices_id=4";

использовать:
$element['type'] = 0;
$element['prefix'] = ' OR (';
$element['name'] = 'shop_prices_to_item_table.shop_list_of_prices_id';
$element['if'] = '=';
$element['value'] = 4;
$element['sufix'] = ')';

#
Re: Выборка товаров с "суперценой"

$shop_id = '3';
$param = array();
$AllDiscount = $shop->GetAllDiscounts(3);
if ($AllDiscount){

   $discount=Array();
   while ($row = mysql_fetch_assoc($AllDiscount))
   {
      $discount[] = $row['shop_discount_id'];
   }

   $element['type'] = 0;
   $element['prefix'] = ' AND (';
   $element['name'] = 'shop_item_discount_table.shop_discount_id';

   $element['if'] = 'IN';
   $element['value'] = '('.implode(',',$discount).')';
   $element['sufix'] = '';
                                            
   $param['select'][] = $element;


   $element['type'] = 0;
   $element['prefix'] = ' OR ';
   $element['name'] = 'shop_prices_to_item_table.shop_list_of_prices_id';

   $element['if'] = '=';
   $element['value'] = '4';
   $element['sufix'] = ')';
  
   $param['select'][] = $element;
   $param['sql_from'] = ' LEFT JOIN shop_item_discount_table ON  shop_item_discount_table.shop_items_catalog_item_id=shop_items_catalog_table.shop_items_catalog_item_id LEFT JOIN shop_prices_to_item_table ON shop_prices_to_item_table.shop_items_catalog_item_id=shop_items_catalog_table.shop_items_catalog_item_id';
}
else {
   $element['type'] = 0;
   $element['prefix'] = ' AND ';
   $element['name'] = 'shop_prices_to_item_table.shop_list_of_prices_id';

   $element['if'] = '=';
   $element['value'] = '4';
   $element['sufix'] = '';

   $param['select'][] = $element;
   $param['sql_from'] = ' LEFT JOIN shop_prices_to_item_table ON shop_prices_to_item_table.shop_items_catalog_item_id=shop_items_catalog_table.shop_items_catalog_item_id';

}

Ошибок уже не выдает
Выбирает только с таблицы со справочника цен, а вот с таблицы дисконта почему то не хочет.
#
Re: Выборка товаров с "суперценой"
Извиняюсь - туплю. Забыл в xsl-шаблоне добавить вывод товара со скидкой
#
Re: Выборка товаров с "суперценой"
Только не пойму, что-то со скидкой
      <price>175.00</price>
      <price_tax>175.00</price_tax>
      <price_discount>175.00</price_discount>

Скидка равна 30%, а выводит в xml как будто скидки на товар нет, т.е. со своей ценой
Авторизация