Или не ошибка? в файле компонента есть строки со 196
Код |
---|
$arSection = false;
if($arParams["SECTION_ID"] > 0 || strlen($arParams["SECTION_CODE"]) > 0)
{
$arSectionFilter = array(
"IBLOCK_ID"=>$arResult["IBLOCK_ID"],
"ACTIVE" => "Y",
);
if($arParams["SECTION_ID"] > 0)
$arSectionFilter["ID"]=$arParams["SECTION_ID"];
else
$arSectionFilter["CODE"]=$arParams["SECTION_CODE"];
$rsSection = CIBlockSection::GetList(array(), $arSectionFilter);
$rsSection->SetUrlTemplates("", $arParams["SECTION_URL"]);
$arSection = $rsSection->GetNext();
} |
смущает вот это
Код |
---|
$arSectionFilter = array(
"IBLOCK_ID"=>$arResult["IBLOCK_ID"],
"ACTIVE" => "Y",
); |
К моменту выполнения этого блока $arResult еще пустой, поэтому IBLOCK_ID оказывается пустым, поэтому при выборке по символическому коду раздела, при наличии других разделов с таким же символическим кодом в других инфоблоках в результирующем $arResult["SECTION"] - оказывает первый попавшийся раздел с таким кодом. Не сильно мешает, но иногда неприятно.
Решается заменой
Код |
---|
"IBLOCK_ID"=>$arResult["IBLOCK_ID"], |
на
Код |
---|
"IBLOCK_ID"=>$arParams["IBLOCK_ID"], |
То есть значение IBLOCK_ID забираем из параметров компонента.
Спасибо, безбажной вам работы