%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/components/bitrix/catalog.set.constructor/ |
| Current File : /home/bitrix/www/bitrix/components/bitrix/catalog.set.constructor/.parameters.php |
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();
use Bitrix\Main\Loader,
Bitrix\Catalog,
Bitrix\Currency;
if (!Loader::includeModule('catalog'))
return;
$arIBlockType = CIBlockParameters::GetIBlockTypes();
$arIBlock = array();
$filterIBlock = (
isset($arCurrentValues["IBLOCK_TYPE_ID"]) && !empty($arCurrentValues["IBLOCK_TYPE_ID"])
? array("TYPE" => $arCurrentValues["IBLOCK_TYPE_ID"], "ACTIVE"=>"Y")
: array("ACTIVE"=>"Y")
);
$rsIBlock = CIBlock::GetList(array("sort" => "asc"), $filterIBlock);
while ($arr = $rsIBlock->Fetch())
$arIBlock[$arr["ID"]] = "[".$arr["ID"]."] ".$arr["NAME"];
unset($arr, $rsIBlock, $filterIBlock);
$arPrice = array();
$priceTypeIterator = Catalog\GroupTable::getList(array(
'select' => array('ID', 'NAME', 'NAME_LANG' => 'CURRENT_LANG.NAME'),
'order' => array('SORT' => 'ASC')
));
while ($priceType = $priceTypeIterator->fetch())
{
$priceType['NAME_LANG'] = (string)$priceType['NAME_LANG'];
$arPrice[$priceType['NAME']] = '['.$priceType['NAME'].']'.($priceType['NAME_LANG'] != '' ? ' '.$priceType['NAME_LANG'] : '');
}
unset($priceType, $priceTypeIterator);
$arProperty_LNS = array();
$arProperty_N = array();
$arProperty_X = array();
$arProperty_L = 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"]=="L" && in_array($arr["CODE"], array("SPECIALOFFER","NEWPRODUCT","SALELEADER")))
{
$arProperty_L[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
}
if ($arr["PROPERTY_TYPE"]=="N")
{
$arProperty_N[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
}
if ($arr["PROPERTY_TYPE"]!="F")
{
if($arr["MULTIPLE"] == "Y")
$arProperty_X[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
elseif($arr["PROPERTY_TYPE"] == "L")
$arProperty_X[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
elseif($arr["PROPERTY_TYPE"] == "E" && $arr["LINK_IBLOCK_ID"] > 0)
$arProperty_X[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
}
}
$arOffers = CIBlockPriceTools::GetOffersIBlock($arCurrentValues["IBLOCK_ID"]);
$OFFERS_IBLOCK_ID = is_array($arOffers)? $arOffers["OFFERS_IBLOCK_ID"]: 0;
$arProperty_Offers = array();
if($OFFERS_IBLOCK_ID)
{
$rsProp = CIBlockProperty::GetList(Array("sort"=>"asc", "name"=>"asc"), Array("IBLOCK_ID"=>$OFFERS_IBLOCK_ID, "ACTIVE"=>"Y"));
while($arr=$rsProp->Fetch())
{
if($arr["PROPERTY_TYPE"] != "F")
$arProperty_Offers[$arr["CODE"]] = "[".$arr["CODE"]."] ".$arr["NAME"];
}
}
$arComponentParameters = array(
"GROUPS" => array(
"PRICES" => array(
"NAME" => GetMessage("IBLOCK_PRICES"),
),
),
"PARAMETERS" => array(
"IBLOCK_TYPE_ID" => array(
"PARENT" => "BASE",
"NAME" => GetMessage("CATALOG_SET_IBLOCK_TYPE"),
"TYPE" => "LIST",
"VALUES" => $arIBlockType,
"REFRESH" => "Y",
),
"IBLOCK_ID" => array(
"PARENT" => "BASE",
"NAME" => GetMessage("CATALOG_SET_IBLOCK_ID"),
"TYPE" => "LIST",
"VALUES" => $arIBlock,
),
"ELEMENT_ID" => array(
"PARENT" => "BASE",
"NAME" => GetMessage("CATALOG_SET_IBLOCK_ELEMENT_ID"),
"TYPE" => "STRING",
"DEFAULT" => ""
),
"BASKET_URL" => array(
"PARENT" => "URL_TEMPLATES",
"NAME" => GetMessage("IBLOCK_BASKET_URL"),
"TYPE" => "STRING",
"DEFAULT" => "/personal/basket.php",
),
"PRICE_CODE" => array(
"PARENT" => "PRICES",
"NAME" => GetMessage("CATALOG_SET_IBLOCK_PRICE_CODE"),
"TYPE" => "LIST",
"MULTIPLE" => "Y",
"VALUES" => $arPrice,
),
"PRICE_VAT_INCLUDE" => array(
"PARENT" => "PRICES",
"NAME" => GetMessage("IBLOCK_VAT_INCLUDE"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "Y",
),
"CACHE_TIME" => array("DEFAULT"=>36000000),
"CACHE_GROUPS" => array(
"PARENT" => "CACHE_SETTINGS",
"NAME" => GetMessage("CP_BCT_CACHE_GROUPS"),
"TYPE" => "CHECKBOX",
"DEFAULT" => "Y",
),
"BUNDLE_ITEMS_COUNT" => array(
"PARENT" => "VISUAL",
"NAME" => GetMessage("CP_CSC_PARAM_TITLE_BUNDLE_ITEMS_COUNT"),
"TYPE" => "STRING",
"DEFAULT" => "3"
)
),
);
$arComponentParameters["PARAMETERS"]['CONVERT_CURRENCY'] = array(
'PARENT' => 'PRICES',
'NAME' => GetMessage('CP_BCT_CONVERT_CURRENCY'),
'TYPE' => 'CHECKBOX',
'DEFAULT' => 'N',
'REFRESH' => 'Y',
);
if (isset($arCurrentValues['CONVERT_CURRENCY']) && 'Y' == $arCurrentValues['CONVERT_CURRENCY'])
{
$arComponentParameters['PARAMETERS']['CURRENCY_ID'] = array(
'PARENT' => 'PRICES',
'NAME' => GetMessage('CP_BCT_CURRENCY_ID'),
'TYPE' => 'LIST',
'VALUES' => Currency\CurrencyManager::getCurrencyList(),
'DEFAULT' => Currency\CurrencyManager::getBaseCurrency(),
"ADDITIONAL_VALUES" => "Y",
);
}
if($OFFERS_IBLOCK_ID)
{
$arComponentParameters["PARAMETERS"]["OFFERS_CART_PROPERTIES"] = array(
"PARENT" => "PRICES",
"NAME" => GetMessage("CP_BCT_OFFERS_CART_PROPERTIES"),
"TYPE" => "LIST",
"MULTIPLE" => "Y",
"VALUES" => $arProperty_Offers,
);
}