Your IP : 3.139.81.114
<?php
/*
* RusKlimat Module Exchange
* добавление всех необходимых инфоблоков
*
* @author Alex
* @date 28/02/2018
*/
IncludeModuleLangFile( __FILE__ );
$type_iblock = COption::GetOptionString( $sModuleId, 'RK_EXCHANGE_MAIN_TYPE_IBLOCK');
if(empty($type_iblock))
{
echo '<p>Error: empty setting type iblock</p>';
}
else
{
// смотрим что у нас есть
// main
$RK_EXCHANGE_MAIN_GLOBUS_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_MAIN_GLOBUS_IBLOCK_ID');
$RK_EXCHANGE_MAIN_TIMETOBUY_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_MAIN_TIMETOBUY_IBLOCK_ID');
// action
$RK_EXCHANGE_ACTIONS_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_ACTIONS_IBLOCK_ID');
// -- свойства
$RK_EXCHANGE_ACTIONS_PROP_MAIN_BANNER = COption::GetOptionString( $sModuleId, 'RK_EXCHANGE_ACTIONS_PROP_MAIN_BANNER');
$RK_EXCHANGE_ACTIONS_PROP_SHOW_IN_MAIN = COption::GetOptionString( $sModuleId, 'RK_EXCHANGE_ACTIONS_PROP_SHOW_IN_MAIN');
$RK_EXCHANGE_ACTIONS_PROP_PIC_PRODUCT = COption::GetOptionString( $sModuleId, 'RK_EXCHANGE_ACTIONS_PROP_PIC_PRODUCT');
$RK_EXCHANGE_ACTIONS_PROP_GEO_NETWORKS = COption::GetOptionString( $sModuleId, 'RK_EXCHANGE_ACTIONS_PROP_GEO_NETWORKS');
$RK_EXCHANGE_ACTIONS_PROP_GOODS_XML = COption::GetOptionString( $sModuleId, 'RK_EXCHANGE_ACTIONS_PROP_GOODS_XML');
$RK_EXCHANGE_ACTIONS_PROP_ALL_GOODS = COption::GetOptionString( $sModuleId, 'RK_EXCHANGE_ACTIONS_PROP_ALL_GOODS');
$RK_EXCHANGE_ACTIONS_PROP_MAIN_BANNER_SORT = COption::GetOptionString( $sModuleId, 'RK_EXCHANGE_ACTIONS_PROP_MAIN_BANNER_SORT');
$RK_EXCHANGE_ACTIONS_PROP_GOODS_PAGE_SORT = COption::GetOptionString( $sModuleId, 'RK_EXCHANGE_ACTIONS_PROP_GOODS_PAGE_SORT');
// catalog
$RK_EXCHANGE_CATALOG_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_IBLOCK_ID');
$RK_EXCHANGE_CATALOG_PROPS_GROUPER_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_PROPS_GROUPER_IBLOCK_ID');
$RK_EXCHANGE_CATALOG_PROPERTIES_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_PROPERTIES_IBLOCK_ID');
$RK_EXCHANGE_CATALOG_BRANDS_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_BRANDS_IBLOCK_ID');
$RK_EXCHANGE_CATALOG_PICKUP_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_PICKUP_IBLOCK_ID');
$RK_EXCHANGE_CATALOG_UNITS_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_UNITS_IBLOCK_ID');
$RK_EXCHANGE_CATALOG_MENU_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_MENU_IBLOCK_ID');
// b2b documents
$RK_EXCHANGE_B2B_DOCUMENTS_AGREEMENTS_IBLOCK_ID = COption::GetOptionInt( $sModuleId, 'RK_EXCHANGE_B2B_DOCUMENTS_AGREEMENTS_IBLOCK_ID');
$ib = new CIBlock;
$oUserTypeEntity = new CUserTypeEntity();
// получим коды сайтов
$arSites = array();
$rsSites = CSite::GetList($by="sort", $order="desc", Array());
while ($arSite = $rsSites->Fetch())
$arSites[] = $arSite["LID"];
/*
* Процесс добавления
*/
// ИБ Акции
if(empty($RK_EXCHANGE_ACTIONS_IBLOCK_ID))
{
$arFields = Array(
"NAME" => GetMessage("RK_EXCHANGE_ADD_IB_ACTIONS_NAME"),
"CODE" => "actions_rk",
"SECTION_PAGE_URL" => "/special/",
"DETAIL_PAGE_URL" => "/special/",
"IBLOCK_TYPE_ID" => $type_iblock,
"SITE_ID" => $arSites,
"GROUP_ID" => Array("2"=>"R"),
);
// если создали инфоблок, можем создать ему свойства
if ($ib_ID = AddIblock($arFields)){
COption::SetOptionInt( $sModuleId, 'RK_EXCHANGE_ACTIONS_IBLOCK_ID', $ib_ID);
$arFieldsProps = Array();
$arFieldsProps[] = Array(
"NAME" => "Баннер для главной", "CODE" => "MAIN_BANNER", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "F",
);
$arFieldsProps[] = Array(
"NAME" => "Показывать баннер на главной", "CODE" => "SHOW_IN_MAIN", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "N", "USER_TYPE" => "SASDCheckboxNum"
);
$arFieldsProps[] = Array(
"NAME" => "Картинка для товара", "CODE" => "PIC_PRODUCT", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "F",
);
$arFieldsProps[] = Array(
"NAME" => "География: кусты", "CODE" => "geo_networks", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "S", "USER_TYPE" => "ElementXmlID", "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => "Товары по акции", "CODE" => "GOODS_XML", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "S", "USER_TYPE" => "ElementXmlID", "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => "На все товары", "CODE" => "ALL_GOODS", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "S",
);
$arFieldsProps[] = Array(
"NAME" => "Сортировка в слайдере на главной", "CODE" => "MAIN_BANNER_SORT", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "N",
);
$arFieldsProps[] = Array(
"NAME" => "Сортировка на странице товара", "CODE" => "GOODS_PAGE_SORT", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "N",
);
$actionsProps = AddProps($arFieldsProps, "CODE");
// теперь установим свойства
foreach($actionsProps as $code => $idProp)
{
$optionName = 'RK_EXCHANGE_ACTIONS_PROP_'.strtoupper($code);
COption::SetOptionString( $sModuleId, $optionName, $code);
}
echo '<p class="status-ok">'.GetMessage("RK_EXCHANGE_ADD_IB_ADDED", array("#CODE#" => "actions_rk")).'</p>';
} else {
echo '<p class="status-error">'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_IB", array("#CODE#" => "actions_rk")).'</p>';
}
}
else
echo '<p>'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_MODULE", array("#CODE#" => "actions_rk")).'</p>';
/////////////////////////////////////////////////////////////////
// ИБ Глобус
if(empty($RK_EXCHANGE_MAIN_GLOBUS_IBLOCK_ID))
{
$arFields = Array(
"NAME" => GetMessage("RK_EXCHANGE_ADD_IB_GLOBUS_NAME"),
"CODE" => "geo_rk",
"IBLOCK_TYPE_ID" => $type_iblock,
"SITE_ID" => $arSites,
"GROUP_ID" => Array("2"=>"R"),
"VERSION" => 2,
);
// если создали инфоблок, можем создать ему свойства
if ($ib_ID = AddIblock($arFields)){
COption::SetOptionInt( $sModuleId, 'RK_EXCHANGE_MAIN_GLOBUS_IBLOCK_ID', $ib_ID);
$arFieldsProps = array();
$arFieldsProps[] = Array(
"NAME" => "Способы оплаты", "CODE" => "availablePaymentTips", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => 'ID "куста"', "CODE" => "network_data_site_id", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Регион', "CODE" => "region", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'ID торгующей организации', "CODE" => "ORG_ID", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Наименование торгующей организации', "CODE" => "ORG_Name", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Наименование полное торгующей организации', "CODE" => "ORG_FullName", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Юр.адрес торгующей организации', "CODE" => "ORG_UrAdress", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'ИНН торгующей организации', "CODE" => "ORG_INN", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'КПП торгующей организации', "CODE" => "ORG_KPP", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Расчетный счет торгующей организации', "CODE" => "ORG_Chec_account", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Наименование банка торгующей организации', "CODE" => "ORG_Bank", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Корр.счет торгующей организации', "CODE" => "ORG_Bank_Corr_account", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'БИК торгующей организации', "CODE" => "ORG_Bank_BIK", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Телефон торгующей организации', "CODE" => "ORG_Phone", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Email торгующей организации', "CODE" => "ORG_Email", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Филиал', "CODE" => "FLL_ID", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'РРЦ', "CODE" => "RRC_ID", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'ФРЦ', "CODE" => "FRC_ID", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Доставка по субботам', "CODE" => "DeliverySat", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Доставка по воскресеньям', "CODE" => "DeliverySun", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Самовывоз по субботам', "CODE" => "PickupSat", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Самовывоз по воскресеньям', "CODE" => "PickupSun", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Предоплата для доставки', "CODE" => "predoplata_required", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Доставка от осн. филиала', "CODE" => "shipping_1", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Доставка от осн. филиала (РРЦ)', "CODE" => "shipping_2", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Доставка от осн. филиала (ФРЦ)', "CODE" => "shipping_3", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Тарифы доставки, стандарт', "CODE" => "deliveryTariffs_st", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => 'Тарифы доставки, крупногабарит', "CODE" => "deliveryTariffs_kr", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => 'Код виртуального склада', "CODE" => "WH_HASH", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Склад наличия', "CODE" => "WH", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Склад под заказ', "CODE" => "WH_ORDER", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Склад активности', "CODE" => "WH_GENERAL", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => "Комбинация ИСКЛЮЧЕНИЯ из экспорта YML в регионах", "CODE" => "EXPORT_YML_CHECK", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => "Комбинация предоплаты в регионах", "CODE" => "PREPAY_CHECK", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Комбинация "под заказ" в регионах', "CODE" => "PREORDER_CHECK", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Комбинация невидимости в регионах', "CODE" => "VISIBILITY_CHECK", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Имя "куста"', "CODE" => "network_name", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Код "куста"', "CODE" => "network_data_code", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Код филиала 1', "CODE" => "filial1_code", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Код филиала 2', "CODE" => "filial2_code", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Столица региона', "CODE" => "CAPITAL", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "N", "USER_TYPE" => "SASDCheckboxNum"
);
$arFieldsProps[] = Array(
"NAME" => 'Время начала работы', "CODE" => "TimeWorkStart", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Время окончания работы', "CODE" => "TimeWorkEnd", "IBLOCK_ID" => $ib_ID
);
AddProps($arFieldsProps);
echo '<p class="status-ok">'.GetMessage("RK_EXCHANGE_ADD_IB_ADDED", array("#CODE#" => "geo_rk")).'</p>';
} else {
echo '<p class="status-error">'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_IB", array("#CODE#" => "geo_rk")).'</p>';
}
}
else
echo '<p>'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_MODULE", array("#CODE#" => "geo_rk")).'</p>';
/////////////////////////////////////////////////////////////////
// ИБ Свойства
if(empty($RK_EXCHANGE_CATALOG_PROPERTIES_IBLOCK_ID))
{
$arFields = Array(
"NAME" => GetMessage("RK_EXCHANGE_ADD_IB_PROPERTIES_NAME"),
"CODE" => "properties_rk",
"IBLOCK_TYPE_ID" => $type_iblock,
"SITE_ID" => $arSites,
"GROUP_ID" => Array("2"=>"R"),
"VERSION" => 2,
);
// если создали инфоблок, можем создать ему свойства
if ($ib_ID = AddIblock($arFields)){
COption::SetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_PROPERTIES_IBLOCK_ID', $ib_ID);
$arFieldsProps = array();
$arFieldsProps[] = Array(
"NAME" => "Категории Тайлов XML", "CODE" => "TILE_CATS_XML", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => "Категории Фильтра XML", "CODE" => "FILTER_CATS_XML", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => "Категории диапазонов XML", "CODE" => "FILTER_N_CATS_XML", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => "Единица измерения", "CODE" => "MEASURE_XML", "IBLOCK_ID" => $ib_ID
);
AddProps($arFieldsProps);
echo '<p class="status-ok">'.GetMessage("RK_EXCHANGE_ADD_IB_ADDED", array("#CODE#" => "properties_rk")).'</p>';
} else {
echo '<p class="status-error">'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_IB", array("#CODE#" => "properties_rk")).'</p>';
}
}
else
echo '<p>'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_MODULE", array("#CODE#" => "properties_rk")).'</p>';
/////////////////////////////////////////////////////////////////
// ИБ Группы свойств
if(empty($RK_EXCHANGE_CATALOG_PROPS_GROUPER_IBLOCK_ID))
{
$arFields = Array(
"NAME" => GetMessage("RK_EXCHANGE_ADD_IB_PROPS_GROUPER_NAME"),
"CODE" => "group_prop_rk",
"IBLOCK_TYPE_ID" => $type_iblock,
"SITE_ID" => $arSites,
"GROUP_ID" => Array("2"=>"R"),
"VERSION" => 2,
);
// если создали инфоблок, можем создать ему свойства
if ($ib_ID = AddIblock($arFields)){
COption::SetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_PROPS_GROUPER_IBLOCK_ID', $ib_ID);
$arFieldsProps = array();
$arFieldsProps[] = Array(
"NAME" => "Свойства", "CODE" => "PROPS", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
AddProps($arFieldsProps);
echo '<p class="status-ok">'.GetMessage("RK_EXCHANGE_ADD_IB_ADDED", array("#CODE#" => "group_prop_rk")).'</p>';
} else {
echo '<p class="status-error">'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_IB", array("#CODE#" => "group_prop_rk")).'</p>';
}
}
else
echo '<p>'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_MODULE", array("#CODE#" => "group_prop_rk")).'</p>';
/////////////////////////////////////////////////////////////////
// ИБ Единицы измерения
if(empty($RK_EXCHANGE_CATALOG_UNITS_IBLOCK_ID))
{
$arFields = Array(
"NAME" => GetMessage("RK_EXCHANGE_ADD_IB_MEASURE_NAME"),
"CODE" => "measure_rk",
"IBLOCK_TYPE_ID" => $type_iblock,
"SITE_ID" => $arSites,
"GROUP_ID" => Array("2"=>"R")
);
// если создали инфоблок, можем создать ему свойства
if ($ib_ID = AddIblock($arFields)){
COption::SetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_UNITS_IBLOCK_ID', $ib_ID);
$arFieldsProps = array();
$arFieldsProps[] = Array(
"NAME" => "Код НСИ", "CODE" => "NSI_CODE", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => "Сокращение", "CODE" => "SHORT_NAME", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => "Международное сокращение", "CODE" => "INTERNATIONAL_SHORTNAME", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
AddProps($arFieldsProps);
echo '<p class="status-ok">'.GetMessage("RK_EXCHANGE_ADD_IB_ADDED", array("#CODE#" => "measure_rk")).'</p>';
} else {
echo '<p class="status-error">'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_IB", array("#CODE#" => "measure_rk")).'</p>';
}
}
else
echo '<p>'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_MODULE", array("#CODE#" => "measure_rk")).'</p>';
/////////////////////////////////////////////////////////////////
// ИБ Каталога
if(empty($RK_EXCHANGE_CATALOG_IBLOCK_ID))
{
$arFields = Array(
"NAME" => GetMessage("RK_EXCHANGE_ADD_IB_CATALOG_NAME"),
"CODE" => "catalog_rk",
"SECTION_PAGE_URL" => "/#SECTION_CODE_PATH#/",
"DETAIL_PAGE_URL" => "/product-#CODE#/",
"IBLOCK_TYPE_ID" => $type_iblock,
"SITE_ID" => $arSites,
"GROUP_ID" => Array("2"=>"R"),
"VERSION" => 2,
);
// если создали инфоблок, можем создать ему свойства
if ($ib_ID = AddIblock($arFields))
{
// запишем для зависимостей с каталогом
$RK_EXCHANGE_CATALOG_IBLOCK_ID = $ib_ID;
COption::SetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_IBLOCK_ID', $ib_ID);
$arFieldsProps = array();
$arFieldsProps[] = Array(
"NAME" => "Комбинация ИСКЛЮЧЕНИЯ из экспорта YML в регионах", "CODE" => "EXPORT_YML_CHECK", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => "Комбинация предоплаты в регионах", "CODE" => "PREPAY_CHECK", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => 'Комбинация "под заказ" в регионах', "CODE" => "PREORDER_CHECK", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => 'Комбинация невидимости в регионах', "CODE" => "VISIBILITY_CHECK", "IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y"
);
$arFieldsProps[] = Array(
"NAME" => 'Новинка', "CODE" => "IS_NEW", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Полное Наименование', "CODE" => "FULL_NAME", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Наименование', "CODE" => "NAME", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Код', "CODE" => "CODE", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Артикул', "CODE" => "ARTIKUL", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Группа', "CODE" => "GROUP", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Марка', "CODE" => "EL_BRAND", "IBLOCK_ID" => $ib_ID
);
// ПРОВЕРИТЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$arFieldsProps[] = Array(
"NAME" => 'Крупногабаритный', "CODE" => "IS_BIG_SIZE", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "N", "USER_TYPE" => "SASDCheckboxNum"
//"VALUES" => array(),
);
$arFieldsProps[] = Array(
"NAME" => 'Аналоги', "CODE" => "ANALOGS", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "E", "LINK_IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y",
);
$arFieldsProps[] = Array(
"NAME" => 'Сопутствующие товары', "CODE" => "RELATED_PRODUCTS", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "E", "LINK_IBLOCK_ID" => $ib_ID, "MULTIPLE" => "Y",
);
$arFieldsProps[] = Array(
"NAME" => 'Товар участвует в выгрузке НСИ', "CODE" => "IMPORT_NSI_ACTIVE", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "N"
);
// добавим свойства которые не приходят в exchange_properties
AddProps($arFieldsProps);
/**
* Добавление пользовательского свойства для разделов
*/
// Код
$aFieldsCode = array(
'ENTITY_ID' => 'IBLOCK_'.$ib_ID.'_SECTION',
'FIELD_NAME' => 'UF_CAT_CODE',
'USER_TYPE_ID' => 'string',
'MULTIPLE' => 'N',
'MANDATORY' => 'N', /* Обязательное или нет свойство */
'EDIT_FORM_LABEL' => array(
'ru' => 'Код',
'en' => 'Code',
),
'LIST_COLUMN_LABEL' => array(
'ru' => 'Код',
'en' => 'Code',
),
);
$iUserFieldCodeId = $oUserTypeEntity->Add($aFieldsCode);
$aFieldsCodeSort = array(
'ENTITY_ID' => 'IBLOCK_'.$ib_ID.'_SECTION',
'FIELD_NAME' => 'UF_ORDER_PARAMETERS',
'XML_ID' => 'ORDER_PARAMETERS',
'USER_TYPE_ID' => 'integer',
'MULTIPLE' => 'Y',
'MANDATORY' => 'N', /* Обязательное или нет свойство */
'EDIT_FORM_LABEL' => array(
'ru' => 'Порядок вывода свойств',
'en' => 'Sort props',
),
'LIST_COLUMN_LABEL' => array(
'ru' => 'Порядок вывода свойств',
'en' => 'Sort props',
),
);
$iUserFieldCodeId = $oUserTypeEntity->Add($aFieldsCodeSort);
echo '<p class="status-ok">'.GetMessage("RK_EXCHANGE_ADD_IB_ADDED", array("#CODE#" => "catalog_rk")).'</p>';
} else {
echo '<p class="status-error">'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_IB", array("#CODE#" => "catalog_rk")).'</p>';
}
}
else
echo '<p>'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_MODULE", array("#CODE#" => "catalog_rk")).'</p>';
/////////////////////////////////////////////////////////////////
// ИБ Бренды
if(empty($RK_EXCHANGE_CATALOG_BRANDS_IBLOCK_ID))
{
$arFields = Array(
"NAME" => GetMessage("RK_EXCHANGE_ADD_IB_BRANDS_NAME"),
"CODE" => "brands_rk",
"LIST_PAGE_URL" => "/catalog/brands/",
"DETAIL_PAGE_URL" => "/catalog/brands/#CODE#/",
"IBLOCK_TYPE_ID" => $type_iblock,
"SITE_ID" => $arSites,
"GROUP_ID" => Array("2"=>"R"),
"VERSION" => 2,
);
// если создали инфоблок, можем создать ему свойства
if ($ib_ID = AddIblock($arFields)){
COption::SetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_BRANDS_IBLOCK_ID', $ib_ID);
echo '<p class="status-ok">'.GetMessage("RK_EXCHANGE_ADD_IB_ADDED", array("#CODE#" => "brands_rk")).'</p>';
} else {
echo '<p class="status-error">'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_IB", array("#CODE#" => "brands_rk")).'</p>';
}
}
else
echo '<p>'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_MODULE", array("#CODE#" => "brands_rk")).'</p>';
/////////////////////////////////////////////////////////////////
// ИБ Hide_menu
if(empty($RK_EXCHANGE_CATALOG_MENU_IBLOCK_ID) && !empty($RK_EXCHANGE_CATALOG_IBLOCK_ID))
{
$arFields = Array(
"NAME" => GetMessage("RK_EXCHANGE_ADD_IB_HIDE_MENU_NAME"),
"CODE" => "top_catalog_menu_rk",
"IBLOCK_TYPE_ID" => $type_iblock,
"SITE_ID" => $arSites,
"GROUP_ID" => Array("2"=>"R")
);
// если создали инфоблок, можем создать ему свойства
if ($ib_ID = AddIblock($arFields)){
COption::SetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_MENU_IBLOCK_ID', $ib_ID);
/**
* Добавление пользовательских свойств для разделов
*/
// Реальная категория
$aFieldsRealCat = array(
'ENTITY_ID' => 'IBLOCK_'.$ib_ID.'_SECTION',
'FIELD_NAME' => 'UF_REAL_CAT_LINK',
'USER_TYPE_ID' => 'iblock_section',
'MULTIPLE' => 'N',
'MANDATORY' => 'N', /* Обязательное или нет свойство */
'SETTINGS' => array(
'IBLOCK_TYPE_ID' => $type_iblock,
'IBLOCK_ID' => $RK_EXCHANGE_CATALOG_IBLOCK_ID,
'DISPLAY' => 'LIST',
),
'EDIT_FORM_LABEL' => array(
'ru' => 'Реальная категория',
'en' => 'REAL_CATEGORY',
),
'LIST_COLUMN_LABEL' => array(
'ru' => 'Реальная категория',
'en' => 'REAL_CATEGORY',
),
);
$iUserFieldRealCatId = $oUserTypeEntity->Add($aFieldsRealCat);
// Реальная категория
$aFieldsUnReg = array(
'ENTITY_ID' => 'IBLOCK_'.$ib_ID.'_SECTION',
'FIELD_NAME' => 'UF_UNACTIVE_REGION',
'USER_TYPE_ID' => 'string',
'MULTIPLE' => 'Y',
'MANDATORY' => 'N', /* Обязательное или нет свойство */
'EDIT_FORM_LABEL' => array(
'ru' => 'Неактивен в категориях',
'en' => 'UNACTIVE_REGION',
),
'LIST_COLUMN_LABEL' => array(
'ru' => 'Неактивен в категориях',
'en' => 'UNACTIVE_REGION',
),
);
$iUserFieldUnRegId = $oUserTypeEntity->Add($aFieldsUnReg);
echo '<p class="status-ok">'.GetMessage("RK_EXCHANGE_ADD_IB_ADDED", array("#CODE#" => "top_catalog_menu_rk")).'</p>';
} else {
echo '<p class="status-error">'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_IB", array("#CODE#" => "top_catalog_menu_rk")).'</p>';
}
}
else
echo '<p>'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_MODULE", array("#CODE#" => "top_catalog_menu_rk")).'</p>';
/////////////////////////////////////////////////////////////////
// ИБ Склады
if(empty($RK_EXCHANGE_CATALOG_PICKUP_IBLOCK_ID))
{
$arFields = Array(
"NAME" => GetMessage("RK_EXCHANGE_ADD_IB_PICKUP_NAME"),
"CODE" => "warehouses_rk",
"IBLOCK_TYPE_ID" => $type_iblock,
"SITE_ID" => $arSites,
"GROUP_ID" => Array("2"=>"R")
);
// если создали инфоблок, можем создать ему свойства
if ($ib_ID = AddIblock($arFields)){
COption::SetOptionInt( $sModuleId, 'RK_EXCHANGE_CATALOG_PICKUP_IBLOCK_ID', $ib_ID);
$arFieldsProps = Array();
$arFieldsProps[] = Array(
"NAME" => 'Полное наименование', "CODE" => "FullName", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Точка на карте', "CODE" => "place", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "S", "USER_TYPE" => 'map_google'
);
$arFieldsProps[] = Array(
"NAME" => 'Адрес', "CODE" => "PickupPoint_Adress", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Координаты', "CODE" => "PickupPoint_Coordinates", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Координаты автобусной остановки', "CODE" => "PickupPoint_BusStopsCoordinates", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Привязка к городу глобуса', "CODE" => "PickupPoint_GlobusRK_ID", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Флаг сдвига самовывоза', "CODE" => "ShiftPickup", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Сдвиг самовывоза Филиал', "CODE" => "ShiftPickupFLL", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Сдвиг самовывоза РРЦ', "CODE" => "ShiftPickupRRC", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'Сдвиг самовывоза ФРЦ', "CODE" => "ShiftPickupFRC", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'ВремяПриемаЗаказов01', "CODE" => "TimeOrders01", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'ВремяПриемаЗаказов02', "CODE" => "TimeOrders02", "IBLOCK_ID" => $ib_ID
);
$arFieldsProps[] = Array(
"NAME" => 'ВремяПриемаЗаказов03', "CODE" => "TimeOrders03", "IBLOCK_ID" => $ib_ID
);
AddProps($arFieldsProps);
echo '<p class="status-ok">'.GetMessage("RK_EXCHANGE_ADD_IB_ADDED", array("#CODE#" => "warehouses_rk")).'</p>';
} else {
echo '<p class="status-error">'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_IB", array("#CODE#" => "warehouses_rk")).'</p>';
}
}
else
{
echo '<p>'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_MODULE", array("#CODE#" => "warehouses_rk")).'</p>';
}
/////////////////////////////////////////////////////////////////
// ИБ Документы для b2b
if(empty($RK_EXCHANGE_B2B_DOCUMENTS_AGREEMENTS_IBLOCK_ID))
{
$arFields = Array(
"NAME" => GetMessage("RK_EXCHANGE_ADD_IB_B2B_DOCUMENTS_AGREEMENTS_NAME"),
"CODE" => "b2b_agreements",
"IBLOCK_TYPE_ID" => $type_iblock,
"SITE_ID" => $arSites,
"GROUP_ID" => Array("2"=>"R")
);
if ($ib_ID = AddIblock($arFields))
{
COption::SetOptionInt( $sModuleId, 'RK_EXCHANGE_B2B_DOCUMENTS_AGREEMENTS_IBLOCK_ID', $ib_ID);
$arFieldsProps = Array();
$arFieldsProps[] = Array(
"NAME" => 'ТипДоговора', "CODE" => "TYPE", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "S"
);
$arFieldsProps[] = Array(
"NAME" => 'ИдентфикаторПартнера', "ID_PARTNER" => "TYPE", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "S"
);
$arFieldsProps[] = Array(
"NAME" => 'ИдентфикаторКонтрагента', "ID_COUNTERPARTY" => "TYPE", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "S"
);
$arFieldsProps[] = Array(
"NAME" => 'ИдентфикаторОрганизации', "ID_ORG" => "TYPE", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "S"
);
$arFieldsProps[] = Array(
"NAME" => 'СуммаКредитногоЛимита', "CREDIT_LIMIT_AMOUNT" => "TYPE", "IBLOCK_ID" => $ib_ID, "PROPERTY_TYPE" => "N"
);
AddProps($arFieldsProps);
echo '<p class="status-ok">'.GetMessage("RK_EXCHANGE_ADD_IB_ADDED", array("#CODE#" => $arFields['CODE'])).'</p>';
}
else
{
echo '<p class="status-error">'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_IB", array("#CODE#" => $arFields['CODE'])).'</p>';
}
}
else
{
echo '<p>'.GetMessage("RK_EXCHANGE_ADD_IB_HAS_MODULE", array("#CODE#" => $arFields['CODE'])).'</p>';
}
}