Вывод товаров, имеющих хотя бы одну модификацию

Модератор
#
Вывод товаров, имеющих хотя бы одну модификацию
<?php
if (class_exists('shop'))
{
   $shop = & singleton('shop');

   $param['current_group_id'] = false;
   $param['items_on_page'] = 20;

   $param['items_order'] = 'desc';
   $param['items_field_order'] = 'shop_items_catalog_table.shop_items_catalog_show_count';

   $element = array();
   $element['type'] = 0; // 0 - основное св-во, 1 - дополнительное
   $element['name'] = 'shop_items_catalog_table.shop_items_catalog_item_id = t2.shop_items_catalog_modification_id AND t2.shop_items_catalog_is_active = 1';
   $element['prefix'] = ' AND '; // префикс
   $element['if'] = ''; // Условие
   $element['value'] = ''; //
   $element['sufix'] = '';
   $param['select'][] = $element;

   $param['sql_from'] = ', shop_items_catalog_table as t2';
   $param['sql_group_by'] = 'GROUP BY shop_items_catalog_table.shop_items_catalog_item_id';

   $external_propertys = array();
   $shop->ShowShop(1,'МагазинКаталогТоваровНаГлавнойСпецПред',$param,$external_propertys);
}
?>


Пример будет работать с версии 5.5.7
Модератор
#
Re: Вывод товаров, имеющих хотя бы одну модификацию
Вывод товаров, не имеющих модификаций:
<?php
if (class_exists('shop'))
{
   $shop = & singleton('shop');

   $param['current_group_id'] = false;
   $param['items_on_page'] = 20;

   $param['items_order'] = 'desc';
   $param['items_field_order'] = 'shop_items_catalog_table.shop_items_catalog_show_count';

   $param['sql_external_select'] = ', COUNT(t2.shop_items_catalog_item_id) as count';
   $param['sql_from'] = 'LEFT JOIN shop_items_catalog_table as t2 ON shop_items_catalog_table.shop_items_catalog_item_id = t2.shop_items_catalog_modification_id AND t2.shop_items_catalog_is_active = 1';
   $param['sql_group_by'] = 'GROUP BY shop_items_catalog_item_id';
   $param['sql_having'] = ' HAVING count = 0';

   $external_propertys = array();
   $shop->ShowShop(1,'МагазинКаталогТоваровНаГлавнойСпецПред',$param,$external_propertys);
}
?>
#
Re: Вывод товаров, имеющих хотя бы одну модификацию
Не подскажете аналогичный способ возможен для версии магазина 5.4?
#
Re: Вывод товаров, имеющих хотя бы одну модификацию
aNt1, этот код должен работать в указанной вами версии системы.

#
Re: Вывод товаров, имеющих хотя бы одну модификацию
У меня выдаёт ошибку вида:

Ошибка выполнения запроса! - Column 'shop_items_catalog_modification_id' in where clause is ambiguous
#
Re: Вывод товаров, имеющих хотя бы одну модификацию
aNt1, приведите текст ошибки полностью(в нем должен быть текст SQL-запроса). Он доступен в папке \hostcmsfiles\logs\ на вашем сервере.

#
Re: Вывод товаров, имеющих хотя бы одну модификацию
"16.11.2010 16:40:13","SYSTEM","Ошибка выполнения запроса: Column 'shop_items_catalog_modification_id' in where clause is ambiguous. Запрос: SELECT SQL_CALC_FOUND_ROWS DISTINCT shop_items_catalog_table.shop_items_catalog_item_id  FROM shop_items_catalog_table     , shop_items_catalog_table as t2 WHERE  shop_items_catalog_table.shop_items_catalog_is_active = '1' AND shop_items_catalog_modification_id = '0' AND shop_items_catalog_table.shop_shops_id='7'    AND `shop_groups_id` IN (0,602,601,603,604,599,600)   AND (shop_items_catalog_table.shop_items_catalog_putend_date >= '2010-11-16 16:40:13' OR shop_items_catalog_table.shop_items_catalog_putend_date ='0000-00-00 00:00:00' AND shop_items_catalog_table.shop_items_catalog_putoff_date <= '2010-11-16 16:40:13'   GROUP BY shop_items_catalog_table.shop_items_catalog_item_id  ORDER BY  Rand()  LIMIT 0, 8","4","-","http://domen.ru/","1.1.1.164"
#
Re: Вывод товаров, имеющих хотя бы одну модификацию
Ну что, не подскажете решения?
#
Re: Вывод товаров, имеющих хотя бы одну модификацию
natalya, подскажите где искать решение, я всё сделал по Вашему способу, но уже несколько дней ломаю голову почему это не работает
#
Re: Вывод товаров, имеющих хотя бы одну модификацию
aNt1, и что, за несколько дней вы не нагуглили в чем ошибка в запросе?
Перед shop_items_catalog_modification_id надо дописать shop_items_catalog_table. (с точкой! чтобы получилось shop_items_catalog_table.shop_items_catalog_modification_id)
Заказов не беру. Консультирую редко.
Авторизация