Documentation

Shop_Item_Import_Cml_Controller extends Core_Servant_Properties
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

Доступные методы:

  • 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')
  • 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')) массив полей, по которым может быть найден товар
Tags
subpackage

Shop

version
7.x
author

Hostmake LLC

copyright

© 2005-2022 ООО "Хостмэйк" (Hostmake LLC), http://www.hostcms.ru

Table of Contents

$_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>
$_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
__construct()  : mixed
Constructor.
addAllowedProperties()  : self
Add additional allowed properties
addAllowedProperty()  : self
Add additional allowed property
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
_checkUpdateField()  : bool
Check if necessary to update the Shop_Item's field
_checkUpdateGroupField()  : bool
Check if necessary to update the Shop_Group's field
_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
Загрузить сохраненные данные классификатора по его ИД
_setProducer()  : self
Set Producer
_setWarehouseRest()  : mixed

Properties

$_aBaseAttributes

List of predefined base properties (ЗначениеРеквизита)

protected array<string|int, mixed> $_aBaseAttributes = array('ВЕС' => 'weight', 'ДЛИНА' => 'length', 'ШИРИНА' => 'width', 'ВЫСОТА' => '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', 'skipProperties', 'searchIndexation', 'itemDescription', 'shortDescription', 'iShopId', 'iShopGroupId', 'sShopDefaultPriceName', 'sShopDefaultPriceGUID', 'sPicturesPath', 'importAction', 'namespace', 'timeout', 'itemSearchFields', '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()

$_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

$_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

Return values
mixed

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
self

addAllowedProperty()

Add additional allowed property

public addAllowedProperty(string $property) : self
Parameters
$property : string

property name

Return values
self

getCurrencyCodes()

public getCurrencyCodes() : mixed
Return values
mixed

getInventory()

public getInventory(mixed $shop_warehouse_id) : mixed
Parameters
$shop_warehouse_id : mixed
Return values
mixed

getPrices()

public getPrices() : mixed
Return values
mixed

getSimpleXMLElement()

Get $this->_oSimpleXMLElement

public getSimpleXMLElement() : SimpleXMLElement
Return values
SimpleXMLElement

import()

Import import.xml, offers.xml

public import() : array<string|int, mixed>
Tags
hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeImport

hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeImportShopItem

hostcms-event

Shop_Item_Import_Cml_Controller.onAfterImportShopItem

hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeImportShopItemPrice

hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeOffer

hostcms-event

Shop_Item_Import_Cml_Controller.onAfterOffersShopItem

hostcms-event

Shop_Item_Import_Cml_Controller.onAfterImport

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>
Return values
mixed

importOrders()

Import orders.xml

public importOrders() : mixed
Tags
hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeImportOrders

hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeImportShopOrder

hostcms-event

Shop_Item_Import_Cml_Controller.onAfterImportShopOrder

Return values
mixed

postAll()

public postAll() : mixed
Return values
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
self

setUnlimitedProperties()

Set unlimitedProperties

public setUnlimitedProperties([bool $value = TRUE ]) : self
Parameters
$value : bool = TRUE

default TRUR

Return values
self

xpath()

Определяет 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
hostcms-event

Shop_Item_Import_Cml_Controller.onAddItemPropertyValueDefault

Return values
mixed

_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

_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

_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) : self
Parameters
$oXMLNode : SimpleXMLElement

node

$iParentId : int

parent ID

Tags
hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeImportShopGroup

hostcms-event

Shop_Item_Import_Cml_Controller.onAfterImportShopGroup

Return values
self

_importMeasures()

Import Measures

protected _importMeasures(object $packageOfProposals) : self
Parameters
$packageOfProposals : object
Tags
hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeImportMeasure

hostcms-event

Shop_Item_Import_Cml_Controller.onAfterImportMeasure

Return values
self

_importProperties()

Import list of properties

protected _importProperties(object $classifier) : self
Parameters
$classifier : object
Tags
hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeCreateProperty

hostcms-event

Shop_Item_Import_Cml_Controller.onAfterCreateProperty

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
retrun

self

Return values
mixed

_importSpecialPrices()

Import Special Prices

protected _importSpecialPrices(SimpleXMLElement $oXMLNode) : self
Parameters
$oXMLNode : SimpleXMLElement

node

Tags
hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeImportSpecialPrice

hostcms-event

Shop_Item_Import_Cml_Controller.onAfterImportSpecialPrice

Return values
self

_importWarehouses()

Import warehouses

protected _importWarehouses(object $packageOfProposals) : self
Parameters
$packageOfProposals : object
Tags
hostcms-event

Shop_Item_Import_Cml_Controller.onBeforeImportWarehouse

hostcms-event

Shop_Item_Import_Cml_Controller.onAfterImportWarehouse

Return values
self

_loadJson()

Загрузить сохраненные данные классификатора по его ИД

protected _loadJson(string $classifierId) : self
Parameters
$classifierId : string

ИД классификатора

Return values
self

_setWarehouseRest()

protected _setWarehouseRest(mixed $oShopItem, mixed $sWarehouseGuid, mixed $newRest) : mixed
Parameters
$oShopItem : mixed
$sWarehouseGuid : mixed
$newRest : mixed
Return values
mixed

Search results