Добрый день.
У меня Bitrix 8.5.1 Исследовал стандартный компонент bitrix/catalog.section и обнаружил, что в файле .description.php судя по всему строчка 29
является лишней.
Мне кажется, что по задумке массив $arProperty_LNS уже собран несколькими строчками выше и нет необходимости его очищать, иначе смысл предыдущей сборки данных теряется. Могу ошибаться, возможно уже исправлено в более старших версиях, но на всякий случай хочу обратить внимание.
Вот как выглядит код с 13 по 33 строчки:
У меня Bitrix 8.5.1 Исследовал стандартный компонент bitrix/catalog.section и обнаружил, что в файле .description.php судя по всему строчка 29
| Код |
|---|
$arProperty_LNS = array(); |
является лишней.
Мне кажется, что по задумке массив $arProperty_LNS уже собран несколькими строчками выше и нет необходимости его очищать, иначе смысл предыдущей сборки данных теряется. Могу ошибаться, возможно уже исправлено в более старших версиях, но на всякий случай хочу обратить внимание.
Вот как выглядит код с 13 по 33 строчки:
| Код |
|---|
$arProperty_LNS = array();
$arProperty_N = array();
$rsProp = CIBlockProperty::GetList(Array("sort"=>"asc", "name"=>"asc"), Array("ACTIVE"=>"Y", "IBLOCK_ID"=>$arCurrentValues["IBLOCK_ID"]));
while ($arr=$rsProp->Fetch())
{
$arProperty[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
if(in_array($arr["PROPERTY_TYPE"], array("L", "N", "S")))
{
$arProperty_LNS[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
}
if($arr["PROPERTY_TYPE"]=="N")
{
$arProperty_N[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
}
}
$arProperty_LNS = array(); // [NOTICE] Эта строчка, если не ошибаюсь, тут не нужна...
$arUserFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("IBLOCK_".$arCurrentValues["IBLOCK_ID"]."_SECTION");
foreach($arUserFields as $FIELD_NAME=>$arUserField)
if($arUserField["USER_TYPE"]["BASE_TYPE"]=="string")
$arProperty_LNS[$FIELD_NAME] = $arUserField["LIST_COLUMN_LABEL"]? $arUserField["LIST_COLUMN_LABEL"]: $FIELD_NAME;
|