You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
197 lines
5.8 KiB
197 lines
5.8 KiB
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
|
|
if (!CModule::IncludeModule("iblock"))
|
|
return;
|
|
|
|
// Main params
|
|
$arIBlockType = CIBlockParameters::GetIBlockTypes();
|
|
$rsIBlock = CIBlock::GetList(array(
|
|
"sort" => "asc",
|
|
), array(
|
|
"TYPE" => $arCurrentValues["IBLOCK_TYPE"],
|
|
"ACTIVE" => "Y",
|
|
));
|
|
while ($arr = $rsIBlock->Fetch())
|
|
$arIBlock[$arr["ID"]] = "[".$arr["ID"]."] ".$arr["NAME"];
|
|
|
|
$arPropList = [];
|
|
if(intval($arCurrentValues['IBLOCK_ID']) > 0) {
|
|
$rsProps = CIBlockProperty::GetList(
|
|
array(),
|
|
array(
|
|
'IBLOCK_ID' => $arCurrentValues['IBLOCK_ID']
|
|
)
|
|
);
|
|
|
|
while ($arProp = $rsProps->Fetch()) {
|
|
$arPropList[$arProp['ID']] = '[' . $arProp['ID'] . '] ' . $arProp['NAME'];
|
|
}
|
|
|
|
if(CModule::IncludeModule('catalog')) {
|
|
$offerBlock = CCatalog::GetList(
|
|
array(),
|
|
array(
|
|
'IBLOCK_ID' => $arCurrentValues['IBLOCK_ID']
|
|
),
|
|
false,
|
|
false,
|
|
array('OFFERS_IBLOCK_ID')
|
|
)->fetch();
|
|
|
|
if($offerBlock) {
|
|
$rsSku = CIBlockProperty::GetList(
|
|
array(),
|
|
array(
|
|
'IBLOCK_ID' => $offerBlock['OFFERS_IBLOCK_ID']
|
|
)
|
|
);
|
|
|
|
while ($prop = $rsSku->fetch()) {
|
|
$arPropList[$prop['ID']] = '[' . $prop['ID'] . '] ' . $prop['NAME'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Brands params
|
|
$arIBlockTypeBrands = CIBlockParameters::GetIBlockTypes();
|
|
$rsIBlock = CIBlock::GetList(
|
|
array(
|
|
"sort" => "asc",
|
|
),
|
|
array(
|
|
"TYPE" => $arCurrentValues["BRAND_IBLOCK_TYPE"],
|
|
"ACTIVE" => "Y",
|
|
)
|
|
);
|
|
while ($arr = $rsIBlock->Fetch()) {
|
|
$arIBlockBrands[$arr["ID"]] = "[" . $arr["ID"] . "] " . $arr["NAME"];
|
|
}
|
|
|
|
if(intval($arCurrentValues['BRAND_IBLOCK_ID']) > 0) {
|
|
$rsBrands = CIBlockProperty::GetList(
|
|
array(),
|
|
array(
|
|
'IBLOCK_ID' => $arCurrentValues['BRAND_IBLOCK_ID']
|
|
)
|
|
);
|
|
|
|
while ($arBrand = $rsBrands->Fetch()) {
|
|
$arBrandsList[$arBrand['ID']] = $arBrand['NAME'];
|
|
}
|
|
|
|
if(CModule::IncludeModule('catalog')) {
|
|
$offerBlock = CCatalog::GetList(
|
|
array(),
|
|
array(
|
|
'IBLOCK_ID' => $arCurrentValues['BRAND_IBLOCK_ID']
|
|
),
|
|
false,
|
|
false,
|
|
array('OFFERS_IBLOCK_ID')
|
|
)->fetch();
|
|
|
|
if($offerBlock) {
|
|
$rsBrands = CIBlockProperty::GetList(
|
|
array(),
|
|
array(
|
|
'IBLOCK_ID' => $offerBlock['OFFERS_IBLOCK_ID']
|
|
)
|
|
);
|
|
|
|
while ($arBrand = $rsBrands->Fetch()) {
|
|
$arBrandsList[$arBrand['ID']] = $arBrand['NAME'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$arComponentParameters = array(
|
|
"GROUPS" => array(
|
|
'BRAND_PARAMETERS' => array(
|
|
'NAME' => GetMessage('SM_BRAND_PARAMS_NAME'),
|
|
'SORT' => 150
|
|
)
|
|
),
|
|
"PARAMETERS" => array(
|
|
'TAB_NAME' => array(
|
|
"PARENT" => "BASE",
|
|
"NAME" => GetMessage('SM_TAB_PROPERTY_NAME'),
|
|
"TYPE" => "STRING",
|
|
"DEFAULT" => GetMessage('SM_TAB_PROPERTY_NAME_DEFAULT'),
|
|
),
|
|
"IBLOCK_TYPE" => array(
|
|
"PARENT" => "BASE",
|
|
"NAME" => GetMessage("SM_IBLOCK_TYPE"),
|
|
"TYPE" => "LIST",
|
|
"VALUES" => $arIBlockType,
|
|
"REFRESH" => "Y",
|
|
),
|
|
"IBLOCK_ID" => array(
|
|
"PARENT" => "BASE",
|
|
"NAME" => GetMessage("SM_IBLOCK_IBLOCK"),
|
|
"TYPE" => "LIST",
|
|
"ADDITIONAL_VALUES" => "Y",
|
|
"VALUES" => $arIBlock,
|
|
"REFRESH" => "Y",
|
|
),
|
|
"EXCLUDE_PROPERTY_LIST" => array(
|
|
"PARENT" => "BASE",
|
|
"NAME" => GetMessage("SM_EXCLUDE_PROPERTY_LIST"),
|
|
"TYPE" => "LIST",
|
|
"MULTIPLE" => "Y",
|
|
"SIZE" => 10,
|
|
"VALUES" => $arPropList,
|
|
),
|
|
"SHOW_BRAND_TAB" => array(
|
|
"PARENT" => "BRAND_PARAMETERS",
|
|
"NAME" => GetMessage("SM_SHOW_BRAND_TAB"),
|
|
"TYPE" => "CHECKBOX",
|
|
"DEFAULT" => "N",
|
|
"REFRESH" => "Y",
|
|
),
|
|
"CACHE_TIME" => array(
|
|
"DEFAULT" => 36000000,
|
|
),
|
|
"CACHE_GROUPS" => array(
|
|
"PARENT" => "CACHE_SETTINGS",
|
|
"NAME" => GetMessage("SM_CACHE_GROUPS"),
|
|
"TYPE" => "CHECKBOX",
|
|
"DEFAULT" => "Y",
|
|
),
|
|
)
|
|
);
|
|
|
|
if($arCurrentValues['SHOW_BRAND_TAB'] == 'Y') {
|
|
$arBrandProps = array(
|
|
'BRAND_TAB_NAME' => array(
|
|
"PARENT" => "BRAND_PARAMETERS",
|
|
"NAME" => GetMessage('SM_BRAND_TAB_NAME'),
|
|
"TYPE" => "STRING",
|
|
"DEFAULT" => GetMessage('SM_BRAND_TAB_NAME_DEFAULT'),
|
|
),
|
|
"BRAND_IBLOCK_TYPE" => array(
|
|
"PARENT" => "BRAND_PARAMETERS",
|
|
"NAME" => GetMessage("SM_IBLOCK_TYPE"),
|
|
"TYPE" => "LIST",
|
|
"VALUES" => $arIBlockTypeBrands,
|
|
"REFRESH" => "Y",
|
|
),
|
|
"BRAND_IBLOCK_ID" => array(
|
|
"PARENT" => "BRAND_PARAMETERS",
|
|
"NAME" => GetMessage("SM_IBLOCK_IBLOCK"),
|
|
"TYPE" => "LIST",
|
|
"ADDITIONAL_VALUES" => "Y",
|
|
"VALUES" => $arIBlockBrands,
|
|
"REFRESH" => "Y",
|
|
),
|
|
"BRANDS_LIST" => array(
|
|
"PARENT" => "BRAND_PARAMETERS",
|
|
"NAME" => GetMessage("SM_EXCLUDE_PROPERTY_LIST"),
|
|
"TYPE" => "LIST",
|
|
"VALUES" => $arBrandsList,
|
|
),
|
|
);
|
|
|
|
$arComponentParameters['PARAMETERS'] = array_merge($arComponentParameters['PARAMETERS'], $arBrandProps);
|
|
}
|
|
?>
|