Здравствуйте.
Пытался следовать рекомендациям с этого топика, в любом случае компонент sale.recommended.products не выводился, чтобы я не делал.
В итоге устал бороться с данной ситуацией и написал свою встраиваемую область, которая берет данные из таблицы b_sale_product2product и выводит нужный список товаров. Если кому будет интересно выкладываю код:
На все про все потратил часа 4, в то время как настроить модуль sale.recommended.products мне не удалось за целый день.
Убедительная просьба к разработчикам: если вы пишите компоненты, то пишите их пригодными для жизни, а не убивающими время и нервные клетки.
Пытался следовать рекомендациям с этого топика, в любом случае компонент sale.recommended.products не выводился, чтобы я не делал.
В итоге устал бороться с данной ситуацией и написал свою встраиваемую область, которая берет данные из таблицы b_sale_product2product и выводит нужный список товаров. Если кому будет интересно выкладываю код:
Код |
---|
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); global $DB; $strSQL="SEL ECT * FR OM b_sale_product2product WHERE PRODUCT_ID=".$_REQUEST["ELEMENT_ID"]." ORDER BY CNT DESC"; $results = $DB->Query($strSQL); //получаем список ID также покупаемых товаров $name_array=array(); //создаем пустой массив, while ($row = $results->Fetch()) { array_push($name_array, $row);//забиваем данные ID товаров в массив } if (!empty($name_array)){//если массив не пустой то выводим данные ?> <h4>С этим товаром также покупают:</h4> <table width="100%"> <? //запускаем цикл вывода товаров for($i=0;$i<count($name_array);$i++){ if($i==0){ echo "<tr>"; } echo "<td height=\"300\" width=\"20%\">"; //по ID товара получаем ID инфоблока и ID раздела, далее формируем фильтр $ib_id = CIBlockElement::GetList(array(), array("ID" => $name_array[$i]['PARENT_PRODUCT_ID']), false, false, array("IBLOCK_ID"))->Fetch(); $ib_sec_id = CIBlockElement::GetList(array(), array("ID" => $name_array[$i]['PARENT_PRODUCT_ID']), false, false, array("IBLOCK_SECTION_ID"))->Fetch(); global $arrFilter; $arrFilter=array("IBLOCK_ID"=>$ib_id["IBLOCK_ID"], "ID"=>$name_array[$i]['PARENT_PRODUCT_ID']); //формируем ссылку на элемент товара $res1 = CIBlockSection::GetByID($ib_sec_id["IBLOCK_SECTION_ID"]); if($ar_res = $res1->GetNext()) if ($ar_res['NAME']=="Гвозди"){$link=SITE_DIR."catalog/fasteners/nails/element.php?ELEMENT_ID=#ELEMENT_ID#"; } if ($ar_res['NAME']=="Анкер-клин"){$link=SITE_DIR."catalog/fasteners/anchors/wedge_anchor/element.php?ELEMENT_ID=#ELEMENT_ID#"; } if ($ar_res['NAME']=="Анкерный болт"){$link=SITE_DIR."catalog/fasteners/anchors/anchor_bolt/element.php?ELEMENT_ID=#ELEMENT_ID#"; } if ($ar_res['NAME']=="Анкерный болт 2-х распорный"){$link=SITE_DIR."catalog/fasteners/anchors/to_spacer_anchor_bolt/element.php?ELEMENT_ID=#ELEMENT_ID#"; } if ($ar_res['NAME']=="Анкерный болт с гайкой"){$link=SITE_DIR."catalog/fasteners/anchors/anchor_bolt_with_nut/element.php?ELEMENT_ID=#ELEMENT_ID#"; } if ($ar_res['NAME']=="Анкерный болт с кольцом"){$link=SITE_DIR."catalog/fasteners/anchors/anchor_bolt_with_ring/element.php?ELEMENT_ID=#ELEMENT_ID#"; } if ($ar_res['NAME']=="Анкерный болт с крюком"){$link=SITE_DIR."catalog/fasteners/anchors/anchor_bolt_with_hook/element.php?ELEMENT_ID=#ELEMENT_ID#"; } if ($ar_res['NAME']=="Забиваемый анкер"){$link=SITE_DIR."catalog/fasteners/anchors/clog_anchor/element.php?ELEMENT_ID=#ELEMENT_ID#"; } if ($ar_res['NAME']=="Клиновой анкер"){$link=SITE_DIR."catalog/fasteners/anchors/wedge_anchor_to/element.php?ELEMENT_ID=#ELEMENT_ID#"; } if ($ar_res['NAME']=="Металлический рамный дюбель"){$link=SITE_DIR."catalog/fasteners/anchors/metal_frame_anchor/element.php?ELEMENT_ID=#ELEMENT_ID#"; } if ($ar_res['NAME']=="Потолочный анкер"){$link=SITE_DIR."catalog/fasteners/anchors/ceiling_anchor/element.php?ELEMENT_ID=#ELEMENT_ID#"; } //выводим товар $APPLICATION->IncludeComponent( "stroymoll:catalog.section", "my_default1", Array( "IBLOCK_TYPE" => "1c_catalog", "IBLOCK_ID" => $ib_id["IBLOCK_ID"], "SECTION_ID" => $ib_sec_id["IBLOCK_SECTION_ID"], "FILTER_NAME" => "arrFilter", "LINE_ELEMENT_COUNT" => "5", "DETAIL_URL" => $link, "DISPLAY_BOTTOM_PAGER" => "N" ) ); echo "</td>"; if($i==4){ echo "</tr>"; } if($i==9){ break; } } echo "<td height=\"300\" rowspan=\"2\">"; echo "</td>"; echo "</table>"; } ?> |
На все про все потратил часа 4, в то время как настроить модуль sale.recommended.products мне не удалось за целый день.
Убедительная просьба к разработчикам: если вы пишите компоненты, то пишите их пригодными для жизни, а не убивающими время и нервные клетки.