Класс umiImportRelations — различия между версиями
Mad grant (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
Строка 116: | Строка 116: | ||
<p>'''Параметры:''' <br/> | <p>'''Параметры:''' <br/> | ||
Int <span style="color:blue">$source_id</span>: | Int <span style="color:blue">$source_id</span>: | ||
− | Идентификатор ресурса | + | Идентификатор ресурса |
String <span style="color:blue">$type_id</span>: | String <span style="color:blue">$type_id</span>: | ||
− | "Новый" идентификатор импортированного типа данных | + | "Новый" идентификатор импортированного типа данных |
String <span style="color:blue">$old_field_name</span>: | String <span style="color:blue">$old_field_name</span>: | ||
− | Имя импортируемого поля | + | Имя импортируемого поля |
Int <span style="color:blue">$new_field_id</span>: | Int <span style="color:blue">$new_field_id</span>: | ||
− | id поля в UMI.CMS<br/> | + | id поля в UMI.CMS<br/></p> |
<p>'''Результат:''' Возвращает id поля в UMI.CMS</p> | <p>'''Результат:''' Возвращает id поля в UMI.CMS</p> | ||
<hr> | <hr> |
Версия 14:47, 7 апреля 2014
Описание класса: Класс служит для работы со связями между импортируемыми сущностями и системными объектами.
Например, из 1С к нам приходит <товар> с <ид> равным "42907251-d287-11de-9943-000fea605ee9", UMI.CMS создает <page> с идентификатором id = "3242", и записывает в таблицу cms3_import_relations следующую запись:
source_id | old_id | new_id |
123 | 42907251-d287-11de-9943-000fea605ee9 | 3242 |
Когда в следующий раз из 1С опять придет <товар> с <ид> равным "42907251-d287-11de-9943-000fea605ee9", то заново его создавать UMI.CMS не будет, система просто обновит страницу с id = "3242".
Класс является синглтоном, экземпляр класса можно получить через статический метод getInstance(). Исходный код класса находится в файле /classes/system/utils/importRelations/umiImportRelations.php.
Описание методов класса umiImportRelations:
- getInstance() - Получить экземпляр коллекции
Параметры:
Результат: экземпляр класса umiImportRelations
- getSourceId() - Получить идентификатор ресурса (Каждому сценарию импорта/экспорта в таблице cms3_import_sources соответствует свой ресурс)
Параметры:
String $source_name: Имя ресурсаНапример, commerceML2 или имя csv файла, или идентификатор ресурса, указанный в сценарии импорта.
Результат: массив идентификаторов ресурсов
- addNewSource() - Добавить ресурс.
Параметры:
String $source_name: Имя ресурса
Результат: Если ресурс с таким $source_name существует, то будет возвращен его id. Если ресурса с таким $source_name нет, то ресурс будет создан и метод вернет его id.
- setIdRelation() - Добавить связь импортируемой сущностью/страницей в UMI.CMS и страницей в UMI.CMS/экспортируемой сущностью в файле экспорта.
Параметры:
Int $source_id: Идентификатор ресурса
String $old_id: Идентификатор импортируемой сущности/страницы в UMI.CMS
String $new_id: Идентификатор страницы в UMI.CMS/экспортируемой сущности
Результат: true, в случае успеха, false в случае неудачи
- getNewIdRelation() - Получить новое значение (new_id) из таблицы cms3_import_relations.
Параметры:
Int $source_id: Идентификатор ресурса
String $old_id: Идентификатор импортируемой сущности/страницы в UMI.CMSРезультат: "новый" идентификатор(new_id), false в случае неудачи
- getOldIdRelation() - Получить старое значение (old_id) из таблицы cms3_import_relations.
Параметры:
Int $source_id: Идентификатор ресурса
String $new_id: Идентификатор страницы в UMI.CMS/экспортируемой сущностиРезультат: "старый" идентификатор(old_id), false в случае неудачи
- setTypeIdRelation() - Добавить связь между импортируемым/экспортируемым и созданным/имеющимся типом данных в таблицу cms3_import_types.
Параметры:
Int $source_id: Идентификатор ресурса
String $old_id: Идентификатор импортируемого типа/имеющегося типа в UMI.CMS
String $new_id: Идентификатор созданного/экспортируемого типа
Результат: true, в случае успеха, false в случае неудачи
- getNewTypeIdRelation() - Получить новое значение (new_id) из таблицы cms3_import_types.
Параметры:
Int $source_id: Идентификатор ресурса
String $old_id: Идентификатор созданного/экспортируемого типаРезультат: "новый" идентификатор(new_id), false в случае неудачи
- getOldTypeIdRelation() - Получить старое значение (old_id) из таблицы cms3_import_types.
Параметры:
Int $source_id: Идентификатор ресурса
String $new_id: Идентификатор импортируемого типа/имеющегося типа в UMI.CMSРезультат: "старый" идентификатор(old_id), false в случае неудачи
- setFieldIdRelation() - Добавить новую связь между полями в cms3_import_fields.
Параметры:
Int $source_id: Идентификатор ресурса String $type_id: "Новый" идентификатор импортированного типа данных String $old_field_name: Имя импортируемого поля Int $new_field_id: id поля в UMI.CMSРезультат: Возвращает id поля в UMI.CMS