- Модуль: landing
- Путь к файлу: ~/bitrix/modules/landing/lib/hook/page/settings.php
- Класс: BitrixLandingHookPageSettings
- Вызов: Settings::getMap
protected function getMap()
{
$fields = array();
// set iblock_id to the map
if (!Manager::isB24() && !Manager::isExtendedSMN())
{
$catalogs = array(
'' => ''
);
$allowedCatalogs = array();
$catalogIncluded = Loader::includeModule('catalog');
if ($catalogIncluded)
{
$iterator = BitrixCatalogCatalogIblockTable::getList(array(
'select' => array(
'IBLOCK_ID', 'PRODUCT_IBLOCK_ID'
)
));
while ($row = $iterator->fetch())
{
$row['IBLOCK_ID'] = (int)$row['IBLOCK_ID'];
$row['PRODUCT_IBLOCK_ID'] = (int)$row['PRODUCT_IBLOCK_ID'];
if ($row['PRODUCT_IBLOCK_ID'] > 0)
{
$allowedCatalogs[$row['PRODUCT_IBLOCK_ID']] = true;
}
else
{
$allowedCatalogs[$row['IBLOCK_ID']] = true;
}
}
unset($row, $iterator);
}
if (Loader::includeModule('iblock'))
{
$res = CIblock::getList(
[],
[
'SITE_ID' => Manager::getMainSiteId()
]
);
}
if (isset($res))
{
while ($row = $res->fetch())
{
$row['ID'] = (int)$row['ID'];
if ($catalogIncluded && !isset($allowedCatalogs[$row['ID']]))
{
continue;
}
$catalogs[$row['ID']] = '[' . $row['ID'] . '] ' . $row['NAME'];
}
}
$fields['IBLOCK_ID'] = self::getFieldByType(
'LIST',
'IBLOCK_ID',
array(
'NAME' => Loc::getMessage('LANDING_HOOK_SETTINGS_IBLOCK_ID'),
'VALUES' => $catalogs
)
);
unset($allowedCatalogs);
}
foreach (self::getComponentsParams() as $code => $params)
{
if (!isset($fields[$code]))
{
$fields[$code] = self::getFieldByType(
$params['TYPE'],
$code,
$params
);
}
}
$fields['AGREEMENT_USE'] = self::getFieldByType(
'CHECKBOX', 'AGREEMENT_USE'
);
$fields['AGREEMENT_ID'] = self::getFieldByType(
null, 'AGREEMENT_ID'
);
// cart position
$positions = array_fill_keys(
['TC', 'TR', 'CR', 'BR', 'BC', 'BL', 'CL', 'TL'],
''
);
foreach ($positions as $key => $val)
{
$positions[$key] = Loc::getMessage('LANDING_HOOK_SETTINGS_CART_POSITION_' . $key);
}
$fields['CART_POSITION'] = self::getFieldByType(
'LIST',
'CART_POSITION',
array(
'NAME' => Loc::getMessage('LANDING_HOOK_SETTINGS_CART_POSITION'),
'VALUES' => $positions
)
);
unset($positions, $key, $val);
return $fields;
}