Класс umiImportRelations — различия между версиями
Mad grant (обсуждение | вклад) |
Mad grant (обсуждение | вклад) |
||
(не показаны 24 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | '''Описание класса:''' Класс служит | + | '''Актуально для версии 2.9.6''' |
+ | |||
+ | '''Описание класса:''' Класс служит связующим звеном между импортируемыми сущностями и объектами в UMI.CMS. Работает с таблицами cms3_import_sources, cms3_import_relations, cms3_import_types и cms3_import_fields. | ||
Например, из 1С к нам приходит <товар> с <ид> равным "42907251-d287-11de-9943-000fea605ee9", UMI.CMS создает <page> | Например, из 1С к нам приходит <товар> с <ид> равным "42907251-d287-11de-9943-000fea605ee9", UMI.CMS создает <page> | ||
Строка 14: | Строка 16: | ||
</table> | </table> | ||
+ | Когда в следующий раз из 1С опять придет <товар> с <ид> равным "42907251-d287-11de-9943-000fea605ee9", то заново его создавать UMI.CMS не будет, система просто обновит страницу с id = "3242". | ||
− | + | Пример применения класса можно посмотреть в статье [[Как_переместить_страницу_если_её_раздел_поменялся]]. | |
− | |||
Класс является синглтоном, экземпляр класса можно получить через статический метод getInstance(). Исходный код класса находится в файле /classes/system/utils/importRelations/umiImportRelations.php. | Класс является синглтоном, экземпляр класса можно получить через статический метод getInstance(). Исходный код класса находится в файле /classes/system/utils/importRelations/umiImportRelations.php. | ||
− | |||
'''Описание методов класса umiImportRelations:''' | '''Описание методов класса umiImportRelations:''' | ||
Строка 25: | Строка 26: | ||
<li><span style="color:blue">getInstance()</span> - Получить экземпляр коллекции | <li><span style="color:blue">getInstance()</span> - Получить экземпляр коллекции | ||
<p>'''Параметры:''' </p> | <p>'''Параметры:''' </p> | ||
− | <p>'''Результат:''' | + | <p>'''Результат:''' Экземпляр класса umiImportRelations</p> |
<hr> | <hr> | ||
</li> | </li> | ||
− | <li><span style="color:blue">getSourceId()</span> - Получить идентификатор ресурса (Каждому сценарию импорта | + | <li><span style="color:blue">getSourceId()</span> - Получить идентификатор ресурса (Каждому сценарию импорта в таблице cms3_import_sources соответствует свой ресурс) |
<p>'''Параметры:''' <br/> | <p>'''Параметры:''' <br/> | ||
String<span style="color:blue"> $source_name</span>: | String<span style="color:blue"> $source_name</span>: | ||
Имя ресурса </p> | Имя ресурса </p> | ||
<p>Например, commerceML2 или имя csv файла, или идентификатор ресурса, указанный в сценарии импорта.</p> | <p>Например, commerceML2 или имя csv файла, или идентификатор ресурса, указанный в сценарии импорта.</p> | ||
− | <p>'''Результат:''' | + | <p>'''Результат:''' Массив идентификаторов ресурсов</p> |
<hr> | <hr> | ||
</li> | </li> | ||
Строка 43: | Строка 44: | ||
Имя ресурса<br/> | Имя ресурса<br/> | ||
</p> | </p> | ||
− | <p>'''Результат:''' Если ресурс с таким $source_name существует, то будет возвращен его id. | + | <p>'''Результат:''' Если ресурс с таким $source_name существует, то будет возвращен его id. Если ресурса с таким $source_name нет, то ресурс будет создан и метод вернет его id.</p> |
− | + | <hr> | |
+ | </li> | ||
+ | |||
+ | <li><span style="color:blue">setIdRelation()</span> - Добавить связь между импортируемой сущностью и созданной страницей в UMI.CMS. | ||
+ | <p>'''Параметры:''' <br/> | ||
+ | Int <span style="color:blue">$source_id</span>: | ||
+ | Идентификатор ресурса<br/> | ||
+ | String <span style="color:blue">$old_id</span>: | ||
+ | Идентификатор импортируемой сущности<br/> | ||
+ | String <span style="color:blue">$new_id</span>: | ||
+ | Идентификатор страницы в UMI.CMS<br/> | ||
+ | </p> | ||
+ | <p>'''Результат:''' true, в случае успеха, false в случае неудачи</p> | ||
+ | <hr> | ||
+ | </li> | ||
+ | |||
+ | <li><span style="color:blue">getNewIdRelation()</span> - Получить id страницы в UMI.CMS, соответствующий импортируемой сущности. | ||
+ | <p>'''Параметры:''' <br/> | ||
+ | Int <span style="color:blue">$source_id</span>: | ||
+ | Идентификатор ресурса<br/> | ||
+ | String <span style="color:blue">$old_id</span>: | ||
+ | Идентификатор импортируемой сущности<br/></p> | ||
+ | <p>'''Результат:''' Идентификатор страницы в UMI.CMS, false в случае неудачи</p> | ||
<hr> | <hr> | ||
</li> | </li> | ||
− | <li><span style="color:blue"> | + | <li><span style="color:blue">getOldIdRelation()</span> - Получить идентификатор импортируемой сущности, соответствующий странице в UMI.CMS. |
+ | <p>'''Параметры:''' <br/> | ||
+ | Int <span style="color:blue">$source_id</span>: | ||
+ | Идентификатор ресурса<br/> | ||
+ | String <span style="color:blue">$new_id</span>: | ||
+ | Идентификатор страницы в UMI.CMS<br/></p> | ||
+ | <p>'''Результат:''' Идентификатор импортируемой сущности, false в случае неудачи</p> | ||
+ | <hr> | ||
+ | </li> | ||
+ | |||
+ | <li><span style="color:blue">setTypeIdRelation()</span> - Добавить связь между импортируемым типом данных и созданным/имеющимся в UMI.CMS. | ||
<p>'''Параметры:''' <br/> | <p>'''Параметры:''' <br/> | ||
Int <span style="color:blue">$source_id</span>: | Int <span style="color:blue">$source_id</span>: | ||
Идентификатор ресурса<br/> | Идентификатор ресурса<br/> | ||
String <span style="color:blue">$old_id</span>: | String <span style="color:blue">$old_id</span>: | ||
− | + | Идентификатор импортируемого типа данных<br/> | |
String <span style="color:blue">$new_id</span>: | String <span style="color:blue">$new_id</span>: | ||
− | + | Идентификатор созданного/имеющегося типа<br/> | |
</p> | </p> | ||
+ | <p>'''Результат:''' true, в случае успеха, false в случае неудачи</p> | ||
+ | <hr> | ||
+ | </li> | ||
+ | |||
+ | <li><span style="color:blue">getNewTypeIdRelation()</span> - Получить идентификатор созданного типа данных в UMI.CMS, соответствующего импортируемому. | ||
+ | <p>'''Параметры:''' <br/> | ||
+ | Int <span style="color:blue">$source_id</span>: | ||
+ | Идентификатор ресурса<br/> | ||
+ | String <span style="color:blue">$old_id</span>: | ||
+ | Идентификатор импортируемого типа<br/></p> | ||
+ | <p>'''Результат:''' Идентификатор созданного типа, false в случае неудачи</p> | ||
+ | <hr> | ||
+ | </li> | ||
+ | |||
+ | <li><span style="color:blue">getOldTypeIdRelation()</span> - Получить идентификатор импортируемого типа, соответствующего созданному. | ||
+ | <p>'''Параметры:''' <br/> | ||
+ | Int <span style="color:blue">$source_id</span>: | ||
+ | Идентификатор ресурса<br/> | ||
+ | String <span style="color:blue">$new_id</span>: | ||
+ | Идентификатор созданного типа в UMI.CMS<br/></p> | ||
+ | <p>'''Результат:''' Идентификатор импортируемого типа, false в случае неудачи</p> | ||
+ | <hr> | ||
+ | </li> | ||
+ | |||
+ | <li><span style="color:blue">setFieldIdRelation()</span> - Добавить связь между импортируемым и созданным полем. | ||
+ | <p>'''Параметры:''' <br/> | ||
+ | Int <span style="color:blue">$source_id</span>: | ||
+ | Идентификатор ресурса<br/> | ||
+ | String <span style="color:blue">$type_id</span>: | ||
+ | Идентификатор созданного типа данных<br/> | ||
+ | String <span style="color:blue">$old_field_name</span>: | ||
+ | Имя импортируемого поля<br/> | ||
+ | Int <span style="color:blue">$new_field_id</span>: | ||
+ | id поля в UMI.CMS<br/></p> | ||
+ | <p>'''Результат:''' Возвращает id поля в UMI.CMS</p> | ||
+ | <hr> | ||
+ | </li> | ||
+ | |||
+ | <li><span style="color:blue">getNewFieldId()</span> - Получить идентификатор созданного поля в UMI.CMS, соответствующего импортируемому. | ||
+ | <p>'''Параметры:''' <br/> | ||
+ | Int <span style="color:blue">$source_id</span>: | ||
+ | Идентификатор ресурса<br/> | ||
+ | String <span style="color:blue">$type_id</span>: | ||
+ | Идентификатор созданного типа данных<br/> | ||
+ | String <span style="color:blue">$old_field_name</span>: | ||
+ | Имя импортируемого поля<br/></p> | ||
+ | <p>'''Результат:''' Идентификатор созданного поля, false в случае неудачи</p> | ||
+ | <hr> | ||
+ | </li> | ||
+ | |||
+ | <li><span style="color:blue">getOldFieldName()</span> - Получить имя импортируемого поля, соответствующего созданному. | ||
+ | <p>'''Параметры:''' <br/> | ||
+ | Int <span style="color:blue">$source_id</span>: | ||
+ | Идентификатор ресурса<br/> | ||
+ | String <span style="color:blue">$type_id</span>: | ||
+ | идентификатор созданного поля<br/> | ||
+ | String <span style="color:blue">$old_id</span>: | ||
+ | Идентификатор импортируемого типа<br/></p> | ||
+ | <p>'''Результат:''' Имя импортируемого поля, false в случае неудачи</p> | ||
+ | <hr> | ||
</li> | </li> | ||
</ul> | </ul> | ||
− | [[category:API]] | + | [[category:API]] [[category:Интеграция с 1С]] |
Текущая версия на 13:23, 9 апреля 2014
Актуально для версии 2.9.6
Описание класса: Класс служит связующим звеном между импортируемыми сущностями и объектами в UMI.CMS. Работает с таблицами cms3_import_sources, cms3_import_relations, cms3_import_types и cms3_import_fields.
Например, из 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.
Параметры:
Int $source_id: Идентификатор ресурса
String $old_id: Идентификатор импортируемой сущности
String $new_id: Идентификатор страницы в UMI.CMS
Результат: true, в случае успеха, false в случае неудачи
- getNewIdRelation() - Получить id страницы в UMI.CMS, соответствующий импортируемой сущности.
Параметры:
Int $source_id: Идентификатор ресурса
String $old_id: Идентификатор импортируемой сущностиРезультат: Идентификатор страницы в UMI.CMS, false в случае неудачи
- getOldIdRelation() - Получить идентификатор импортируемой сущности, соответствующий странице в UMI.CMS.
Параметры:
Int $source_id: Идентификатор ресурса
String $new_id: Идентификатор страницы в UMI.CMSРезультат: Идентификатор импортируемой сущности, false в случае неудачи
- setTypeIdRelation() - Добавить связь между импортируемым типом данных и созданным/имеющимся в UMI.CMS.
Параметры:
Int $source_id: Идентификатор ресурса
String $old_id: Идентификатор импортируемого типа данных
String $new_id: Идентификатор созданного/имеющегося типа
Результат: true, в случае успеха, false в случае неудачи
- getNewTypeIdRelation() - Получить идентификатор созданного типа данных в UMI.CMS, соответствующего импортируемому.
Параметры:
Int $source_id: Идентификатор ресурса
String $old_id: Идентификатор импортируемого типаРезультат: Идентификатор созданного типа, false в случае неудачи
- getOldTypeIdRelation() - Получить идентификатор импортируемого типа, соответствующего созданному.
Параметры:
Int $source_id: Идентификатор ресурса
String $new_id: Идентификатор созданного типа в UMI.CMSРезультат: Идентификатор импортируемого типа, false в случае неудачи
- setFieldIdRelation() - Добавить связь между импортируемым и созданным полем.
Параметры:
Int $source_id: Идентификатор ресурса
String $type_id: Идентификатор созданного типа данных
String $old_field_name: Имя импортируемого поля
Int $new_field_id: id поля в UMI.CMSРезультат: Возвращает id поля в UMI.CMS
- getNewFieldId() - Получить идентификатор созданного поля в UMI.CMS, соответствующего импортируемому.
Параметры:
Int $source_id: Идентификатор ресурса
String $type_id: Идентификатор созданного типа данных
String $old_field_name: Имя импортируемого поляРезультат: Идентификатор созданного поля, false в случае неудачи
- getOldFieldName() - Получить имя импортируемого поля, соответствующего созданному.
Параметры:
Int $source_id: Идентификатор ресурса
String $type_id: идентификатор созданного поля
String $old_id: Идентификатор импортируемого типаРезультат: Имя импортируемого поля, false в случае неудачи