- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/blocks/orderbasket.php
- Класс: BitrixSaleHelpersAdminBlocksOrderBasket
- Вызов: OrderBasket::getVisibleColumns
protected function getVisibleColumns($idPrefix)
{
if (self::$iblockIncluded === null)
self::$iblockIncluded = MainLoader::includeModule('iblock');
if (!self::$iblockIncluded)
return array();
$result = array();
$arTmpColumns = array();
$arColumnsOptions = static::loadVisibleColumns($idPrefix);
if (is_array($arColumnsOptions) && isset($arColumnsOptions["columns"]) && $arColumnsOptions["columns"] <> '')
$arTmpColumns = explode(",", $arColumnsOptions["columns"]);
if(is_array($arTmpColumns) && !empty($arTmpColumns))
{
$iBlockProps = array();
$iBlockPropsInt = array();
foreach ($arTmpColumns as $id => $columnCode)
{
if (mb_substr($columnCode, 0, 9) == "PROPERTY_")
{
$iblockPropCode = mb_substr($columnCode, 9);
if($iblockPropCode <> '')
{
$iBlockProps[] = $iblockPropCode;
if(intval($iblockPropCode) > 0)
$iBlockPropsInt[] = intval($iblockPropCode);
$result[$columnCode] = "";
}
}
else
{
$result[$columnCode] = Loc::getMessage("SALE_ORDER_BASKET_SETTINGS_COL_".$columnCode);
}
}
if(!empty($iBlockProps))
{
$dbRes = BitrixIblockPropertyTable::getList(array(
'filter' => array(
'LOGIC' => 'OR',
'=CODE' => $iBlockProps,
'=ID' => $iBlockPropsInt
),
'select' => array('ID', 'NAME', 'CODE')
));
while($arPropData = $dbRes->fetch())
{
if($arPropData['CODE'] <> '')
$result["PROPERTY_".$arPropData['CODE']] = $arPropData["NAME"];
else
$result["PROPERTY_".$arPropData['ID']] = $arPropData["NAME"];
}
}
}
else
{
$result = static::getDefaultVisibleColumns();
}
return $result;
}