Здравствуйте.
Столкнулся со следующей задачей:
на подробной странице товара есть блок "[I]Рекомендованные товары[/I]" в котором устаревший компонент "[FONT=monospace][I]bitrix:catalog.bigdata.products[/I][/FONT]" выводит популярные товары такой-же категории.
Я добавил еще и возможность в ручную отмечать рекомендованные товары через свойство [I]RECOMMEND [/I]инфоблока и вывожу товары из него через компонент "[FONT=monospace][I]bitrix:catalog.recommended.products[/I][/FONT]".
Суть задачи в том, что если "[FONT=monospace][I]bitrix:catalog.recommended.products[/I][/FONT]" пустой, т.е. в ручную никто рекомендованные товары не отмечал, то нужно выводить устаревший "[I]b[FONT=monospace]itrix:catalog.bigdata.products[/FONT][/I]".
Я решил задачу следующим образом:
[CODE]$has_recom = false;
$db_props = CIBlockElement::GetProperty($arParams["IBLOCK_ID"], $ElementID, array("sort" => "asc"), Array("CODE"=>"RECOMMEND"));
if($ar_props = $db_props->Fetch())
if($ar_props["VALUE"])
$has_recom = true;
<?if($has_recom){?>
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.recommended.products", ......
<? } else { ?>
<?$APPLICATION->IncludeComponent("bitrix:catalog.bigdata.products", CKShop::checkVersionExt(), array(.....
<? } ?>[/CODE]т.е. методом беру проверяю пустое ли значение RECOMMEND текущего и товара и если да вывожу старый компонент, если нет, то новый.
Все прекрасно работает, НО у меня есть подозрения что это костыли и говонокод. Какой правильный путь решения подобной задачи?
Столкнулся со следующей задачей:
на подробной странице товара есть блок "[I]Рекомендованные товары[/I]" в котором устаревший компонент "[FONT=monospace][I]bitrix:catalog.bigdata.products[/I][/FONT]" выводит популярные товары такой-же категории.
Я добавил еще и возможность в ручную отмечать рекомендованные товары через свойство [I]RECOMMEND [/I]инфоблока и вывожу товары из него через компонент "[FONT=monospace][I]bitrix:catalog.recommended.products[/I][/FONT]".
Суть задачи в том, что если "[FONT=monospace][I]bitrix:catalog.recommended.products[/I][/FONT]" пустой, т.е. в ручную никто рекомендованные товары не отмечал, то нужно выводить устаревший "[I]b[FONT=monospace]itrix:catalog.bigdata.products[/FONT][/I]".
Я решил задачу следующим образом:
[CODE]$has_recom = false;
$db_props = CIBlockElement::GetProperty($arParams["IBLOCK_ID"], $ElementID, array("sort" => "asc"), Array("CODE"=>"RECOMMEND"));
if($ar_props = $db_props->Fetch())
if($ar_props["VALUE"])
$has_recom = true;
<?if($has_recom){?>
<?$APPLICATION->IncludeComponent(
"bitrix:catalog.recommended.products", ......
<? } else { ?>
<?$APPLICATION->IncludeComponent("bitrix:catalog.bigdata.products", CKShop::checkVersionExt(), array(.....
<? } ?>[/CODE]т.е. методом беру проверяю пустое ли значение RECOMMEND текущего и товара и если да вывожу старый компонент, если нет, то новый.
Все прекрасно работает, НО у меня есть подозрения что это костыли и говонокод. Какой правильный путь решения подобной задачи?