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