Исключение товара из GetAllItems

#
Исключение товара из GetAllItems
Добрый день!
Делаю поиск похожих товаров по тэгам (как где-то здесь было для ИС), и не понял как исключить просматриваемый товар, подскажите пожалуйста

// Поиск похожих товаров по тэгам
      if (class_exists('Tag'))
      {
         $oTag = & singleton('Tag');
         $tags = $oTag->GetTagRelation(array('shop_items_catalog_item_id' => $GLOBALS['shop_item_path']['item']));

         $tag_list = array();
                        foreach($tags as $key => $tag_row)
         {
            $tag_list[] = $tag_row['tag_id'];
         }

                        $similars = $shop->GetAllItems($current_shop_id, false,
                     array(
                        'tags' => $tag_list,
                        'current_group_id' => false,
                        'items_on_page' => 3,
                        'items_order' => 'rand'
                     ) );

         if (is_array($similars) && count($similars) > 0)
         {
            $similar_param = array();
            $similar_param['xml_show_tying_products'] = false;
            $similar_param['xml_show_modification'] = false;
            $similar_param['xml_show_comments'] = false;

            $xml_similars = '';

                           foreach ($similars as $key => $similar_row)
            {
               $similar_data = $shop->GetItem($similar_row['shop_items_catalog_item_id']);
               $xml_similars .= $shop->GenXml4Item(0, $similar_data, $site_user_id, $similar_param);
            }

            $param['external_xml'] = '<similars>' . $xml_similars . '</similars>';
         }
      }
      
      /* Вывод конкретного элемент */
      $shop->ShowItem($GLOBALS['shop_item_path']['item'], $xsl_item, $param, $external_propertys);
Модератор
#
Re: Исключение товара из GetAllItems
варианты:
1. в метод GetAllItems через $param['select'] задать основное условие на несоответствие id товара некоторому значению.
2. Внести изменения в код:
foreach ($similars as $key => $similar_row)
{
if ($GLOBALS['shop_item_path']['item'] != $similar_row['shop_items_catalog_item_id'])
{

$similar_data = $shop->GetItem($similar_row['shop_items_catalog_item_id']);
$xml_similars .= $shop->GenXml4Item(0, $similar_data, $site_user_id, $similar_param);
}
}

второй вариант проще.
#
Re: Исключение товара из GetAllItems
Спасибо,
но второй вариант не подходит, т.к. количество товаров будет меньше чем хотелось бы.
А чтобы указать $param['select'] условия на несоответствие id надо знать названия столбца с id..
на shop_items_catalog_item_id ругается
$similars = $shop->GetAllItems($current_shop_id, false,
                     array(
                        'tags' => $tag_list,
                        'current_group_id' => false,
                        'items_on_page' => 3,
                        'items_order' => 'rand',
                        'select' => array(
                           0 => array(
                              'type' => 0,
                              'name' => 'shop_items_catalog_item_id',
                              'prefix' => ' and ',
                              'if' => '!=',
                              'value' => $GLOBALS['shop_item_path']['item'],
                              'sufix' => " "
                              )
                           )
                     ) );
Модератор
#
Re: Исключение товара из GetAllItems
Покажите текст ошибки.
#
Re: Исключение товара из GetAllItems
Прошу прощения, разобрался: надо было таблицу указать shop_items_catalog_table.shop_items_catalog_item_id, там, видимо, джойн есть с таблицой где столбец с таким же именем есть
Авторизация