Класс umiImportRelations

Материал из Umicms
Перейти к:навигация, поиск

Описание класса: Класс служит для работы со связями между импортируемыми сущностями и системными объектами.

Например, из 1С к нам приходит <товар> с <ид> равным "42907251-d287-11de-9943-000fea605ee9", UMI.CMS создает <page> с идентификатором id = "3242", и записывает в таблицу cms3_import_relations следующую запись:


source_idold_idnew_id
12342907251-d287-11de-9943-000fea605ee93242


Когда в следующий раз из 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() - Добавить связь между импортируемой сущностью и страницей в системе.

    Параметры:
    Int $source_id: Идентификатор ресурса