Здравствуйте.
Столкнулся со следующей задачей:
на подробной странице товара есть блок "Рекомендованные товары" в котором устаревший компонент "bitrix:catalog.bigdata.products" выводит популярные товары такой-же категории.
Я добавил еще и возможность в ручную отмечать рекомендованные товары через свойство RECOMMEND инфоблока и вывожу товары из него через компонент "bitrix:catalog.recommended.products".
Суть задачи в том, что если "bitrix:catalog.recommended.products" пустой, т.е. в ручную никто рекомендованные товары не отмечал, то нужно выводить устаревший "bitrix:catalog.bigdata.products".
Я решил задачу следующим образом:
т.е. методом беру проверяю пустое ли значение RECOMMEND текущего и товара и если да вывожу старый компонент, если нет, то новый.
Все прекрасно работает, НО у меня есть подозрения что это костыли и говонокод. Какой правильный путь решения подобной задачи?
Столкнулся со следующей задачей:
на подробной странице товара есть блок "Рекомендованные товары" в котором устаревший компонент "bitrix:catalog.bigdata.products" выводит популярные товары такой-же категории.
Я добавил еще и возможность в ручную отмечать рекомендованные товары через свойство RECOMMEND инфоблока и вывожу товары из него через компонент "bitrix:catalog.recommended.products".
Суть задачи в том, что если "bitrix:catalog.recommended.products" пустой, т.е. в ручную никто рекомендованные товары не отмечал, то нужно выводить устаревший "bitrix:catalog.bigdata.products".
Я решил задачу следующим образом:
| Код |
|---|
$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(.....
<? } ?> |
Все прекрасно работает, НО у меня есть подозрения что это костыли и говонокод. Какой правильный путь решения подобной задачи?