Shop_Item_Import_Cml_Controller
extends Shop_Item_Import_Controller
in package
Import CML Controller (1С) 2.0.8 - http://v8.1c.ru/edi/edi_stnd/90/CML208.XSD 2.1.0 - http://v8.1c.ru/edi/edi_stnd/90/CML210.XSD
Протокол обмена с сайтом https://v8.1c.ru/tekhnologii/obmen-dannymi-i-integratsiya/standarty-i-formaty/protokol-obmena-s-saytom/
Доступные методы:
- importGroups(TRUE|FALSE) импортировать группы товаров, по умолчанию TRUE
- createShopItems(TRUE|FALSE) создавать новые товары, по умолчанию TRUE
- updateFields(array()) массив полей товара, которые необходимо обновлять при импорте CML товара, если не заполнен, то обновляются все поля. Пример массива array('marking', 'barcode', 'name', 'shop_group_id', 'text', 'description', 'images', 'taxes', 'shop_producer_id', 'prices', 'warehouses')
- updateGroupFields(array()) массив полей групп, которые необходимо обновлять при импорте CML группы, если не заполнен, то обновляются все поля. Пример массива array('name', 'description', 'parent_id')
- itemsProperties(TRUE|FALSE|array()) импортировать значения дополнительных свойств товаров, по умолчанию TRUE, может принимать массив с названиями дополнительных свойств
- skipProperties(array()) массив названий свойств, которые исключаются из импорта
- searchIndexation(TRUE|FALSE) использовать событийную индексацию, по умолчанию FALSE
- itemDescription() имя поля товара, в которое загружать описание товаров, может принимать значения description, text. По умолчанию text
- shortDescription() название тега, из которого загружать описание товара, например МалоеОписание или КраткоеОписание, для импорта из свойства товара используйте конструкцию вида "ЗначенияСвойств/ЗначенияСвойства[./Ид='8f4f5254-31f4-11e9-7792-fa163e79bc3b']/Значение". По умолчанию МалоеОписание
- timeout(30) время выполнения шага импорта, получается из настроек PHP
- itemSearchFields(array('cml_id', 'marking', 'barcode')) массив полей, по которым может быть найден товар
- reActivateItems(TRUE|FALSE) включать товары, которые ранее были выключены, по умолчанию FALSE
Tags
Table of Contents
Properties
- $_aBaseAttributes : array<string|int, mixed>
- List of predefined base properties (ЗначениеРеквизита)
- $_aBaseProperties : array<string|int, mixed>
- List of base properties
- $_aConfig : array<string|int, mixed>
- CML config
- $_aCurrencyCodes : array<string|int, mixed>
- Коды валют для МойСклад
- $_allowedProperties : array<string|int, mixed>
- Allowed object properties
- $_aPredefinedBaseProperties : array<string|int, mixed>
- List of predefined base properties
- $_aPropertyValues : array<string|int, mixed>
- Values of property
- $_aReturn : array<string|int, mixed>
- Return data
- $_aShop_Warehouse_Inventory_Ids : mixed
- $_bNewShopGroup : bool
- Is new Shop_Group
- $_bNewShopItem : bool
- Is new Shop_Item
- $_cachePropertyByGuid : array<string|int, mixed>
- _getProperty() cache
- $_cachePropertyByName : array<string|int, mixed>
- _getProperty() cache
- $_importBaseMeasureCacheByName : array<string|int, mixed>
- $_importBaseMeasureCacheByOkei : array<string|int, mixed>
- $_importFilePath : mixed
- $_oSimpleXMLElement : SimpleXMLElement
- XML
- $_oTaxForBasePrice : object
- Tax for default price
- $_propertiesValues : array<string|int, mixed>
- Properties values
- $_propertyNotAList : array<string|int, mixed>
- $_Shop_Price_Setting_Id : mixed
- $_tmpPath : mixed
- $_unlimitedProperties : bool
- Object has unlimited number of properties
- $aPredefinedAdditionalProperties : array<string|int, mixed>
- List of predefined additional properties
Methods
- __construct() : mixed
- Constructor.
- addAllowedProperties() : self
- Add additional allowed properties
- addAllowedProperty() : self
- Add additional allowed property
- deleteLockFile() : self
- Delete .lock file
- getCurrencyCodes() : mixed
- getInventory() : mixed
- getPrices() : mixed
- getSimpleXMLElement() : SimpleXMLElement
- Get $this->_oSimpleXMLElement
- import() : array<string|int, mixed>
- Import import.xml, offers.xml
- importImages() : mixed
- Import images
- importOrders() : mixed
- Import orders.xml
- postAll() : mixed
- set() : self
- Run when writing data to inaccessible properties
- setUnlimitedProperties() : self
- Set unlimitedProperties
- xpath() : array<string|int, mixed>|false
- Определяет namespace документа, если был указан, то устаналивает его и возвращает $object->xpath($path) с учетом namespace
- _addItemPropertyValue() : mixed
- Add property to item
- _addPredefinedAdditionalProperty() : self
- Check if property exists in array and save it if so
- _addTax() : Shop_Tax
- Add tax info
- _availablePropertyName() : bool
- Check if property is available
- _checkUpdateField() : bool
- Check if necessary to update the Shop_Item's field
- _checkUpdateGroupField() : bool
- Check if necessary to update the Shop_Group's field
- _convertToPunycode() : string
- Convert url to Punycode
- _downloadHttpFile() : path
- Download file to the TMP dir
- _getProperty() : Property_Model|null
- Получение объекта свойства по CML ID или названию свойства (для схемы 2.0.5)
- _importBaseMeasure() : self
- Импорт "БазоваяЕдиница"
- _importGroups() : self
- Import group
- _importMeasures() : self
- Import Measures
- _importProperties() : self
- Import list of properties
- _importPropertyValues() : mixed
- Import property values
- _importSpecialPrices() : self
- Import Special Prices
- _importWarehouses() : self
- Import warehouses
- _loadJson() : self
- Загрузить сохраненные данные классификатора по его ИД
- _prepareText() : string
- Convert description \n to br if not HTML
- _setProducer() : self
- Set Producer
- _setWarehouseRest() : mixed
Properties
$_aBaseAttributes
List of predefined base properties (ЗначениеРеквизита)
protected
array<string|int, mixed>
$_aBaseAttributes
= array('ВЕС' => 'weight', 'ДЛИНА' => 'length', 'ШИРИНА' => 'width', 'ВЫСОТА' => 'height', 'ВЕС УПАКОВКИ' => 'package_weight', 'ДЛИНА УПАКОВКИ' => 'package_length', 'ШИРИНА УПАКОВКИ' => 'package_width', 'ВЫСОТА УПАКОВКИ' => 'package_height')
$_aBaseProperties
List of base properties
protected
array<string|int, mixed>
$_aBaseProperties
= array()
$_aConfig
CML config
protected
array<string|int, mixed>
$_aConfig
= \NULL
$_aCurrencyCodes
Коды валют для МойСклад
protected
array<string|int, mixed>
$_aCurrencyCodes
= array('971' => 'AFN', '978' => 'EUR', '008' => 'ALL', '012' => 'DZD', '840' => 'USD', '973' => 'AOA', '951' => 'XCD', '032' => 'ARS', '051' => 'AMD', '533' => 'AWG', '036' => 'AUD', '944' => 'AZN', '044' => 'BSD', '048' => 'BHD', '050' => 'BDT', '052' => 'BBD', '974' => 'BYR', '084' => 'BZD', '952' => 'XOF', '060' => 'BMD', '064' => 'BTN', '356' => 'INR', '068' => 'BOB', '984' => 'BOV', '977' => 'BAM', '072' => 'BWP', '578' => 'NOK', '986' => 'BRL', '096' => 'BND', '975' => 'BGN', '108' => 'BIF', '116' => 'KHR', '950' => 'XAF', '124' => 'CAD', '132' => 'CVE', '136' => 'KYD', '990' => 'CLF', '152' => 'CLP', '156' => 'CNY', '170' => 'COP', '970' => 'COU', '174' => 'KMF', '976' => 'CDF', '554' => 'NZD', '188' => 'CRC', '191' => 'HRK', '931' => 'CUC', '192' => 'CUP', '532' => 'ANG', '203' => 'CZK', '208' => 'DKK', '262' => 'DJF', '214' => 'DOP', '818' => 'EGP', '222' => 'SVC', '232' => 'ERN', '230' => 'ETB', '238' => 'FKP', '242' => 'FJD', '953' => 'XPF', '270' => 'GMD', '981' => 'GEL', '936' => 'GHS', '292' => 'GIP', '320' => 'GTQ', '826' => 'GBP', '324' => 'GNF', '328' => 'GYD', '332' => 'HTG', '340' => 'HNL', '344' => 'HKD', '348' => 'HUF', '352' => 'ISK', '360' => 'IDR', '960' => 'XDR', '364' => 'IRR', '368' => 'IQD', '376' => 'ILS', '388' => 'JMD', '392' => 'JPY', '400' => 'JOD', '398' => 'KZT', '404' => 'KES', '408' => 'KPW', '410' => 'KRW', '414' => 'KWD', '417' => 'KGS', '418' => 'LAK', '422' => 'LBP', '426' => 'LSL', '710' => 'ZAR', '430' => 'LRD', '434' => 'LYD', '756' => 'CHF', '446' => 'MOP', '807' => 'MKD', '969' => 'MGA', '454' => 'MWK', '458' => 'MYR', '462' => 'MVR', '478' => 'MRO', '480' => 'MUR', '965' => 'XUA', '484' => 'MXN', '979' => 'MXV', '498' => 'MDL', '496' => 'MNT', '504' => 'MAD', '943' => 'MZN', '104' => 'MMK', '516' => 'NAD', '524' => 'NPR', '558' => 'NIO', '566' => 'NGN', '512' => 'OMR', '586' => 'PKR', '590' => 'PAB', '598' => 'PGK', '600' => 'PYG', '604' => 'PEN', '608' => 'PHP', '985' => 'PLN', '634' => 'QAR', '946' => 'RON', '643' => 'RUB', '810' => 'RUR', '646' => 'RWF', '654' => 'SHP', '882' => 'WST', '678' => 'STD', '682' => 'SAR', '941' => 'RSD', '690' => 'SCR', '694' => 'SLL', '702' => 'SGD', '994' => 'XSU', '090' => 'SBD', '706' => 'SOS', '728' => 'SSP', '144' => 'LKR', '938' => 'SDG', '968' => 'SRD', '748' => 'SZL', '752' => 'SEK', '947' => 'CHE', '948' => 'CHW', '760' => 'SYP', '901' => 'TWD', '972' => 'TJS', '834' => 'TZS', '764' => 'THB', '776' => 'TOP', '780' => 'TTD', '788' => 'TND', '949' => 'TRY', '934' => 'TMT', '800' => 'UGX', '980' => 'UAH', '784' => 'AED', '997' => 'USN', '940' => 'UYI', '858' => 'UYU', '860' => 'UZS', '548' => 'VUV', '937' => 'VEF', '704' => 'VND', '886' => 'YER', '967' => 'ZMW', '932' => 'ZWL', '955' => 'XBA', '956' => 'XBB', '957' => 'XBC', '958' => 'XBD', '963' => 'XTS', '999' => 'XXX', '959' => 'XAU', '964' => 'XPD', '962' => 'XPT', '961' => 'XAG')
$_allowedProperties
Allowed object properties
protected
array<string|int, mixed>
$_allowedProperties
= array('importGroups', 'createShopItems', 'updateFields', 'updateGroupFields', 'itemsProperties', 'skipProperties', 'searchIndexation', 'itemDescription', 'shortDescription', 'iShopId', 'iShopGroupId', 'sShopDefaultPriceName', 'sShopDefaultPriceGUID', 'sPicturesPath', 'importAction', 'namespace', 'timeout', 'itemSearchFields', 'reActivateItems', 'debug')
$_aPredefinedBaseProperties
List of predefined base properties
protected
array<string|int, mixed>
$_aPredefinedBaseProperties
= array("HOSTCMS_TITLE", "HOSTCMS_DESCRIPTION", "HOSTCMS_KEYWORDS", "HOSTCMS_МЕТКИ", "YANDEX_MARKET", "ПРОДАВЕЦ", "ПРОИЗВОДИТЕЛЬ", "АКТИВНОСТЬ")
$_aPropertyValues
Values of property
protected
array<string|int, mixed>
$_aPropertyValues
= array()
$_aReturn
Return data
protected
array<string|int, mixed>
$_aReturn
= array('insertDirCount' => 0, 'insertItemCount' => 0, 'updateDirCount' => 0, 'updateItemCount' => 0, 'status' => 'success')
$_aShop_Warehouse_Inventory_Ids
protected
mixed
$_aShop_Warehouse_Inventory_Ids
= array()
$_bNewShopGroup
Is new Shop_Group
protected
bool
$_bNewShopGroup
= \TRUE
$_bNewShopItem
Is new Shop_Item
protected
bool
$_bNewShopItem
= \TRUE
$_cachePropertyByGuid
_getProperty() cache
protected
array<string|int, mixed>
$_cachePropertyByGuid
= array()
$_cachePropertyByName
_getProperty() cache
protected
array<string|int, mixed>
$_cachePropertyByName
= array()
$_importBaseMeasureCacheByName
protected
array<string|int, mixed>
$_importBaseMeasureCacheByName
= array()
$_importBaseMeasureCacheByOkei
protected
array<string|int, mixed>
$_importBaseMeasureCacheByOkei
= array()
$_importFilePath
protected
mixed
$_importFilePath
= \NULL
$_oSimpleXMLElement
XML
protected
SimpleXMLElement
$_oSimpleXMLElement
= \NULL
$_oTaxForBasePrice
Tax for default price
protected
object
$_oTaxForBasePrice
= \NULL
$_propertiesValues
Properties values
protected
array<string|int, mixed>
$_propertiesValues
= array()
$_propertyNotAList
protected
array<string|int, mixed>
$_propertyNotAList
= array()
$_Shop_Price_Setting_Id
protected
mixed
$_Shop_Price_Setting_Id
= \NULL
$_tmpPath
protected
mixed
$_tmpPath
= \NULL
$_unlimitedProperties
Object has unlimited number of properties
protected
bool
$_unlimitedProperties
= \FALSE
$aPredefinedAdditionalProperties
List of predefined additional properties
protected
array<string|int, mixed>
$aPredefinedAdditionalProperties
= array()
Methods
__construct()
Constructor.
public
__construct(string $sXMLFilePath) : mixed
Parameters
- $sXMLFilePath : string
-
file path
addAllowedProperties()
Add additional allowed properties
public
addAllowedProperties(array<string|int, mixed> $array) : self
Parameters
- $array : array<string|int, mixed>
-
array of properties' names
Return values
selfaddAllowedProperty()
Add additional allowed property
public
addAllowedProperty(string $property) : self
Parameters
- $property : string
-
property name
Return values
selfdeleteLockFile()
Delete .lock file
public
deleteLockFile() : self
Return values
selfgetCurrencyCodes()
public
getCurrencyCodes() : mixed
getInventory()
public
getInventory(mixed $shop_warehouse_id) : mixed
Parameters
- $shop_warehouse_id : mixed
getPrices()
public
getPrices() : mixed
getSimpleXMLElement()
Get $this->_oSimpleXMLElement
public
getSimpleXMLElement() : SimpleXMLElement
Return values
SimpleXMLElementimport()
Import import.xml, offers.xml
public
import() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>importImages()
Import images
public
importImages(Shop_Item_Model $oShopItem, array<string|int, mixed> $oImages) : mixed
Parameters
- $oShopItem : Shop_Item_Model
-
item
- $oImages : array<string|int, mixed>
importOrders()
Import orders.xml
public
importOrders() : mixed
Tags
postAll()
public
postAll() : mixed
set()
Run when writing data to inaccessible properties
public
set(string $property, string $value) : self
Parameters
- $property : string
-
property name
- $value : string
-
property value
Return values
selfsetUnlimitedProperties()
Set unlimitedProperties
public
setUnlimitedProperties([bool $value = TRUE ]) : self
Parameters
- $value : bool = TRUE
-
default TRUR
Return values
selfxpath()
Определяет namespace документа, если был указан, то устаналивает его и возвращает $object->xpath($path) с учетом namespace
public
xpath(SimpleXMLElement $object, string $path) : array<string|int, mixed>|false
Parameters
- $object : SimpleXMLElement
- $path : string
Return values
array<string|int, mixed>|false_addItemPropertyValue()
Add property to item
protected
_addItemPropertyValue(Shop_Item_Model $oShopItem, Property_Model $oProperty, string $sValue) : mixed
Parameters
- $oShopItem : Shop_Item_Model
-
item
- $oProperty : Property_Model
- $sValue : string
-
property value
Tags
_addPredefinedAdditionalProperty()
Check if property exists in array and save it if so
protected
_addPredefinedAdditionalProperty(mixed $oShop_Item, SimpleXMLElement $oPropertyValue, mixed $sValue[, mixed $bForcedAdd = FALSE ]) : self
Parameters
- $oShop_Item : mixed
- $oPropertyValue : SimpleXMLElement
- $sValue : mixed
- $bForcedAdd : mixed = FALSE
Return values
self_addTax()
Add tax info
protected
_addTax(SimpleXMLElement $oTax) : Shop_Tax
Parameters
- $oTax : SimpleXMLElement
-
tax
Return values
Shop_Tax_availablePropertyName()
Check if property is available
protected
_availablePropertyName(string $sPropertyName) : bool
Parameters
- $sPropertyName : string
Return values
bool_checkUpdateField()
Check if necessary to update the Shop_Item's field
protected
_checkUpdateField(string $fieldName) : bool
Parameters
- $fieldName : string
Return values
bool_checkUpdateGroupField()
Check if necessary to update the Shop_Group's field
protected
_checkUpdateGroupField(string $fieldName) : bool
Parameters
- $fieldName : string
Return values
bool_convertToPunycode()
Convert url to Punycode
protected
_convertToPunycode(string $url) : string
Parameters
- $url : string
Return values
string_downloadHttpFile()
Download file to the TMP dir
protected
_downloadHttpFile(string $sSourceFile) : path
Parameters
- $sSourceFile : string
Return values
path —to the file
_getProperty()
Получение объекта свойства по CML ID или названию свойства (для схемы 2.0.5)
protected
_getProperty(SimpleXMLElement $oPropertyValue) : Property_Model|null
Parameters
- $oPropertyValue : SimpleXMLElement
Return values
Property_Model|null_importBaseMeasure()
Импорт "БазоваяЕдиница"
protected
_importBaseMeasure(object $oNode, Shop_Item_Model $oShopItem) : self
Parameters
- $oNode : object
- $oShopItem : Shop_Item_Model
Return values
self_importGroups()
Import group
protected
_importGroups(SimpleXMLElement $oXMLNode[, int $iParentId = 0 ]) : self
Parameters
- $oXMLNode : SimpleXMLElement
-
node
- $iParentId : int = 0
-
parent ID
Tags
Return values
self_importMeasures()
Import Measures
protected
_importMeasures(object $packageOfProposals) : self
Parameters
- $packageOfProposals : object
Tags
Return values
self_importProperties()
Import list of properties
protected
_importProperties(object $classifier) : self
Parameters
- $classifier : object
Tags
Return values
self_importPropertyValues()
Import property values
protected
_importPropertyValues(Shop_Item_Model $oShop_Item, SimpleXMLElement $oPropertyValue) : mixed
ЗначенияСвойств/ЗначенияСвойства ХарактеристикиТовара/ХарактеристикаТовара
Parameters
- $oShop_Item : Shop_Item_Model
-
item
- $oPropertyValue : SimpleXMLElement
Tags
_importSpecialPrices()
Import Special Prices
protected
_importSpecialPrices(SimpleXMLElement $oXMLNode) : self
Parameters
- $oXMLNode : SimpleXMLElement
-
node
Tags
Return values
self_importWarehouses()
Import warehouses
protected
_importWarehouses(object $packageOfProposals) : self
Parameters
- $packageOfProposals : object
Tags
Return values
self_loadJson()
Загрузить сохраненные данные классификатора по его ИД
protected
_loadJson(string $classifierId) : self
Parameters
- $classifierId : string
-
ИД классификатора
Return values
self_prepareText()
Convert description \n to br if not HTML
protected
_prepareText(string $str) : string
Parameters
- $str : string
Return values
string_setProducer()
Set Producer
protected
_setProducer(string $producerName, Shop_Item_Model $shopItem) : self
Parameters
- $producerName : string
- $shopItem : Shop_Item_Model
Return values
self_setWarehouseRest()
protected
_setWarehouseRest(mixed $oShopItem, mixed $sWarehouseGuid, mixed $newRest) : mixed
Parameters
- $oShopItem : mixed
- $sWarehouseGuid : mixed
- $newRest : mixed