В очередной рассылке Cackle был анонсирован компонент для Битрикс, который был незамедлительно мною поставлен и опробован здесь. До этого у меня работал общий вариант кода Cackle, не битрикс-компонент.
В настройках компонента был настроен параметр MC_CHANNEL, отвечающий за отображение нужной цепочки комментариев на любой странице сайта. Однако, в ходе тест-драйва выяснилось, что компонент «кладет» на данный параметр, привязывая цепочку к URI страницы в любом случае.
Исследовав код компонента, удалось выяснить, что:
т.е. полностью отсутствует проверка, что там я задаю в настройках компонента.
Установив проверку параметра MC_CHANNEL:
удалось добиться нормальной работы компонента.
Все прежние камменты подхватились и синхронизировались с локальной таблицей БД.
В настройках компонента был настроен параметр MC_CHANNEL, отвечающий за отображение нужной цепочки комментариев на любой странице сайта. Однако, в ходе тест-драйва выяснилось, что компонент «кладет» на данный параметр, привязывая цепочку к URI страницы в любом случае.
Исследовав код компонента, удалось выяснить, что:
$arResult['SITE_ID'] = $cackle_api->cackle_get_param("site_id");
$arResult['MC_CHANNEL'] = $APPLICATION->GetCurPage();
$arResult['CACKLE_OBJ'] = get_local_comments($APPLICATION->GetCurPage());
т.е. полностью отсутствует проверка, что там я задаю в настройках компонента.
Установив проверку параметра MC_CHANNEL:
$arResult['SITE_ID'] = $cackle_api->cackle_get_param("site_id");
if($arParams['MC_CHANNEL']) $arResult['MC_CHANNEL'] = $arParams['MC_CHANNEL']; //vm
else $arResult['MC_CHANNEL'] = $APPLICATION->GetCurPage();
$arResult['CACKLE_OBJ'] = get_local_comments($arResult['MC_CHANNEL']); //vm
удалось добиться нормальной работы компонента.
Все прежние камменты подхватились и синхронизировались с локальной таблицей БД.