%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/catalog/general/ |
Current File : /home/bitrix/www/bitrix/modules/catalog/general/csv_settings.php |
<? use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); class CCatalogCSVSettings { const FIELDS_ELEMENT = 'ELEMENT'; const FIELDS_CATALOG = 'CATALOG'; const FIELDS_PRICE = 'PRICE'; const FIELDS_PRICE_EXT = 'PRICE_EXT'; const FIELDS_SECTION = 'SECTION'; const FIELDS_CURRENCY = 'CURRENCY'; public static function getSettingsFields($type, $extFormat = false) { $extFormat = ($extFormat === true); $result = array(); $type = (string)$type; if ($type !== '') { switch ($type) { case self::FIELDS_ELEMENT: $result = array( 'IE_XML_ID' => array( 'value' => 'IE_XML_ID', 'field' => 'XML_ID', 'important' => 'Y', 'name' => Loc::getMessage('CATI_FI_UNIXML_EXT').' (B_IBLOCK_ELEMENT.XML_ID)' ), 'IE_NAME' => array( 'value' => 'IE_NAME', 'field' => 'NAME', 'important' => 'Y', 'name' => Loc::getMessage('CATI_FI_NAME').' (B_IBLOCK_ELEMENT.NAME)' ), 'IE_ACTIVE' => array( 'value' => 'IE_ACTIVE', 'field' => 'ACTIVE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_ACTIV').' (B_IBLOCK_ELEMENT.ACTIVE)' ), 'IE_ACTIVE_FROM' => array( 'value' => 'IE_ACTIVE_FROM', 'field' => 'ACTIVE_FROM', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_ACTIVFROM').' (B_IBLOCK_ELEMENT.ACTIVE_FROM)' ), 'IE_ACTIVE_TO' => array( 'value' => 'IE_ACTIVE_TO', 'field' => 'ACTIVE_TO', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_ACTIVTO').' (B_IBLOCK_ELEMENT.ACTIVE_TO)' ), 'IE_SORT' => array( 'value' => 'IE_SORT', 'field' => 'SORT', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_SORT_EXT').' (B_IBLOCK_ELEMENT.SORT)' ), 'IE_PREVIEW_PICTURE' => array( 'value' => 'IE_PREVIEW_PICTURE', 'field' => 'PREVIEW_PICTURE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_CATIMG_EXT').' (B_IBLOCK_ELEMENT.PREVIEW_PICTURE)' ), 'IE_PREVIEW_TEXT' => array( 'value' => 'IE_PREVIEW_TEXT', 'field' => 'PREVIEW_TEXT', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_CATDESCR_EXT').' (B_IBLOCK_ELEMENT.PREVIEW_TEXT)' ), 'IE_PREVIEW_TEXT_TYPE' => array( 'value' => 'IE_PREVIEW_TEXT_TYPE', 'field' => 'PREVIEW_TEXT_TYPE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_CATDESCRTYPE_EXT').' (B_IBLOCK_ELEMENT.PREVIEW_TEXT_TYPE)' ), 'IE_DETAIL_PICTURE' => array( 'value' => 'IE_DETAIL_PICTURE', 'field' => 'DETAIL_PICTURE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_DETIMG_EXT').' (B_IBLOCK_ELEMENT.DETAIL_PICTURE)' ), 'IE_DETAIL_TEXT' => array( 'value' => 'IE_DETAIL_TEXT', 'field' => 'DETAIL_TEXT', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_DETDESCR_EXT').' (B_IBLOCK_ELEMENT.DETAIL_TEXT)' ), 'IE_DETAIL_TEXT_TYPE' => array( 'value' => 'IE_DETAIL_TEXT_TYPE', 'field' => 'DETAIL_TEXT_TYPE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_DETDESCRTYPE_EXT').' (B_IBLOCK_ELEMENT.DETAIL_TEXT_TYPE)' ), 'IE_CODE' => array( 'value' => 'IE_CODE', 'field' => 'CODE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_CODE_EXT').' (B_IBLOCK_ELEMENT.CODE)' ), 'IE_TAGS' => array( 'value' => 'IE_TAGS', 'field' => 'TAGS', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_TAGS').' (B_IBLOCK_ELEMENT.TAGS)' ), 'IE_ID' => array( 'value' => 'IE_ID', 'field' => 'ID', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_ID').' (B_IBLOCK_ELEMENT.ID)' ) ); break; case self::FIELDS_CATALOG: $result = array( 'CP_QUANTITY' => array( 'value' => 'CP_QUANTITY', 'field' => 'QUANTITY', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_QUANT').' (B_CATALOG_PRODUCT.QUANTITY)' ), 'CP_QUANTITY_TRACE' => array( 'value' => 'CP_QUANTITY_TRACE', 'field' => 'QUANTITY_TRACE', 'field_orig' => 'QUANTITY_TRACE_ORIG', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_QUANTITY_TRACE').' (B_CATALOG_PRODUCT.QUANTITY_TRACE)' ), 'CP_CAN_BUY_ZERO' => array( 'value' => 'CP_CAN_BUY_ZERO', 'field' => 'CAN_BUY_ZERO', 'field_orig' => 'CAN_BUY_ZERO_ORIG', 'important'=>'N', 'name' => Loc::getMessage('CATI_FI_CAN_BUY_ZERO').' (B_CATALOG_PRODUCT.CAN_BUY_ZERO)' ), 'CP_WEIGHT' => array( 'value' => 'CP_WEIGHT', 'field' => 'WEIGHT', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_WEIGHT').' (B_CATALOG_PRODUCT.WEIGHT)' ), 'CP_WIDTH' => array( 'value' => 'CP_WIDTH', 'field' => 'WIDTH', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_WIDTH').' (B_CATALOG_PRODUCT.WIDTH)' ), 'CP_HEIGHT' => array( 'value' => 'CP_HEIGHT', 'field' => 'HEIGHT', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_HEIGHT').' (B_CATALOG_PRODUCT.HEIGHT)' ), 'CP_LENGTH' => array( 'value' => 'CP_LENGTH', 'field' => 'LENGTH', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_LENGTH').' (B_CATALOG_PRODUCT.LENGTH)' ), 'CP_PURCHASING_PRICE' => array( 'value' => 'CP_PURCHASING_PRICE', 'field' => 'PURCHASING_PRICE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_PURCHASING_PRICE').' (B_CATALOG_PRODUCT.PURCHASING_PRICE)' ), 'CP_PURCHASING_CURRENCY' => array( 'value' => 'CP_PURCHASING_CURRENCY', 'field' => 'PURCHASING_CURRENCY', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_PURCHASING_CURRENCY').' (B_CATALOG_PRODUCT.PURCHASING_CURRENCY)' ), 'CP_PRICE_TYPE' => array( 'value' => 'CP_PRICE_TYPE', 'field' => 'PRICE_TYPE', 'important' => 'N', 'name' => Loc::getMessage('I_PAY_TYPE').' (B_CATALOG_PRODUCT.PRICE_TYPE)' ), 'CP_RECUR_SCHEME_LENGTH' => array( 'value' => 'CP_RECUR_SCHEME_LENGTH', 'field' => 'RECUR_SCHEME_LENGTH', 'important' => 'N', 'name' => Loc::getMessage('I_PAY_PERIOD_LENGTH').' (B_CATALOG_PRODUCT.RECUR_SCHEME_LENGTH)' ), 'CP_RECUR_SCHEME_TYPE' => array( 'value' => 'CP_RECUR_SCHEME_TYPE', 'field' => 'RECUR_SCHEME_TYPE', 'important' => 'N', 'name' => Loc::getMessage('I_PAY_PERIOD_TYPE').' (B_CATALOG_PRODUCT.RECUR_SCHEME_TYPE)' ), 'CP_TRIAL_PRICE_ID' => array( 'value' => 'CP_TRIAL_PRICE_ID', 'field' => 'TRIAL_PRICE_ID', 'important' => 'N', 'name' => Loc::getMessage('I_TRIAL_FOR').' (B_CATALOG_PRODUCT.TRIAL_PRICE_ID)' ), 'CP_WITHOUT_ORDER' => array( 'value' => 'CP_WITHOUT_ORDER', 'field' => 'WITHOUT_ORDER', 'important' => 'N', 'name' => Loc::getMessage('I_WITHOUT_ORDER').' (B_CATALOG_PRODUCT.WITHOUT_ORDER)' ), 'CP_VAT_ID' => array( 'value' => 'CP_VAT_ID', 'field' => 'VAT_ID', 'important' => 'N', 'name' => Loc::getMessage('I_VAT_ID').' (B_CATALOG_PRODUCT.VAT_ID)' ), 'CP_VAT_INCLUDED' => array( 'value' => 'CP_VAT_INCLUDED', 'field' => 'VAT_INCLUDED', 'important' => 'N', 'name' => Loc::getMessage('I_VAT_INCLUDED').' (B_CATALOG_PRODUCT.VAT_INCLUDED)' ), 'CP_MEASURE' => array( 'value' => 'CP_MEASURE', 'field' => 'MEASURE', 'important' => 'N', 'name' => Loc::getMessage('BX_CAT_CSV_SETTINGS_PRODUCT_FIELD_NAME_MEASURE_ID').' (B_CATALOG_PRODUCT.MEASURE)' ), ); break; case self::FIELDS_PRICE: $result = array( 'CV_PRICE' => array( 'value' => 'CV_PRICE', 'value_size' => 8, 'field' => 'PRICE', 'important' => 'N', 'name' => Loc::getMessage('I_NAME_PRICE').' (B_CATALOG_PRICE.PRICE)' ), 'CV_CURRENCY' => array( 'value' => 'CV_CURRENCY', 'value_size' => 11, 'field' => 'CURRENCY', 'important' => 'N', 'name' => Loc::getMessage('I_NAME_CURRENCY').' (B_CATALOG_PRICE.CURRENCY)' ), 'CV_EXTRA_ID' => array( 'value' => 'CV_EXTRA_ID', 'value_size' => 11, 'field' => 'EXTRA_ID', 'important' => 'N', 'name' => Loc::getMessage('I_NAME_EXTRA_ID').' (B_CATALOG_PRICE.EXTRA_ID)' ) ); break; case self::FIELDS_PRICE_EXT: $result = array( 'CV_QUANTITY_FROM' => array( 'value' => 'CV_QUANTITY_FROM', 'field' => 'QUANTITY_FROM', 'important' => 'N', 'name' => Loc::getMessage('I_NAME_QUANTITY_FROM').' (B_CATALOG_PRICE.QUANTITY_FROM)' ), 'CV_QUANTITY_TO' => array( 'value' => 'CV_QUANTITY_TO', 'field' => 'QUANTITY_TO', 'important' => 'N', 'name' => Loc::getMessage('I_NAME_QUANTITY_TO').' (B_CATALOG_PRICE.QUANTITY_TO)' ) ); break; case self::FIELDS_SECTION: $result = array( 'IC_ID' => array( 'value' => 'IC_ID', 'field' => 'ID', 'important' => 'N', 'name' => Loc::getMessage('CATI_FI_ID').' (B_IBLOCK_SECTION.ID)' ), 'IC_XML_ID' => array( 'value' => 'IC_XML_ID', 'field' => 'XML_ID', 'important' => 'Y', 'name' => Loc::getMessage('CATI_FG_UNIXML_EXT').' (B_IBLOCK_SECTION.XML_ID)' ), 'IC_GROUP' => array( 'value' => 'IC_GROUP', 'field' => 'NAME', 'important' => 'Y', 'name' => Loc::getMessage('CATI_FG_NAME').' (B_IBLOCK_SECTION.NAME)' ), 'IC_ACTIVE' => array( 'value' => 'IC_ACTIVE', 'field' => 'ACTIVE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FG_ACTIV').' (B_IBLOCK_SECTION.ACTIVE)' ), 'IC_SORT' => array( 'value' => 'IC_SORT', 'field' => 'SORT', 'important' => 'N', 'name' => Loc::getMessage('CATI_FG_SORT_EXT').' (B_IBLOCK_SECTION.SORT)' ), 'IC_DESCRIPTION' => array( 'value' => 'IC_DESCRIPTION', 'field' => 'DESCRIPTION', 'important' => 'N', 'name' => Loc::getMessage('CATI_FG_DESCR').' (B_IBLOCK_SECTION.DESCRIPTION)' ), 'IC_DESCRIPTION_TYPE' => array( 'value' => 'IC_DESCRIPTION_TYPE', 'field' => 'DESCRIPTION_TYPE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FG_DESCRTYPE').' (B_IBLOCK_SECTION.DESCRIPTION_TYPE)' ), 'IC_CODE' => array( 'value' => 'IC_CODE', 'field' => 'CODE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FG_CODE_EXT2').' (B_IBLOCK_SECTION.CODE)' ), 'IC_PICTURE' => array( 'value' => 'IC_PICTURE', 'field' => 'PICTURE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FG_PICTURE').' (B_IBLOCK_SECTION.PICTURE)' ), 'IC_DETAIL_PICTURE' => array( 'value' => 'IC_DETAIL_PICTURE', 'field' => 'DETAIL_PICTURE', 'important' => 'N', 'name' => Loc::getMessage('CATI_FG_DETAIL_PICTURE').' (B_IBLOCK_SECTION.DETAIL_PICTURE)' ) ); break; } } return ($extFormat ? $result : array_values($result)); } public static function getDefaultSettings($type, $extFormat = false) { $extFormat = ($extFormat === true); $result = ($extFormat ? array() : ''); $type = (string)$type; if ($type !== '') { switch ($type) { case self::FIELDS_ELEMENT: $result = ( $extFormat ? array('IE_XML_ID', 'IE_NAME', 'IE_PREVIEW_TEXT', 'IE_DETAIL_TEXT') : 'IE_XML_ID,IE_NAME,IE_PREVIEW_TEXT,IE_DETAIL_TEXT' ); break; case self::FIELDS_CATALOG: $result = ( $extFormat ? array('CP_QUANTITY' ,'CP_WEIGHT', 'CP_WIDTH', 'CP_HEIGHT', 'CP_LENGTH') : 'CP_QUANTITY,CP_WEIGHT,CP_WIDTH,CP_HEIGHT,CP_LENGTH' ); break; case self::FIELDS_PRICE: $result = ( $extFormat ? array('CV_PRICE', 'CV_CURRENCY') : 'CV_PRICE,CV_CURRENCY' ); break; case self::FIELDS_PRICE_EXT: $result = ( $extFormat ? array('CV_QUANTITY_FROM', 'CV_QUANTITY_TO') : 'CV_QUANTITY_FROM,CV_QUANTITY_TO' ); break; case self::FIELDS_SECTION: $result = ( $extFormat ? array('IC_GROUP') : 'IC_GROUP' ); break; case self::FIELDS_CURRENCY: $result = ( $extFormat ? array('USD') : 'USD' ); break; } } return $result; } }