Класс umiImportRelations — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 80: Строка 80:
 
   </li>
 
   </li>
  
   <li><span style="color:blue">setTypeIdRelation()</span> - Добавить связь между импортируемым/экспортируемым и созданным/имеющимся типом данных.
+
   <li><span style="color:blue">setTypeIdRelation()</span> - Добавить связь между импортируемым/экспортируемым и созданным/имеющимся типом данных в таблицу cms3_import_types.
 
     <p>'''Параметры:''' <br/>  
 
     <p>'''Параметры:''' <br/>  
 
     Int <span style="color:blue">$source_id</span>:
 
     Int <span style="color:blue">$source_id</span>:
Строка 110: Строка 110:
 
     Идентификатор импортируемого типа/имеющегося типа в UMI.CMS<br/></p>
 
     Идентификатор импортируемого типа/имеющегося типа в UMI.CMS<br/></p>
 
     <p>'''Результат:''' "старый" идентификатор(old_id), false в случае неудачи</p>
 
     <p>'''Результат:''' "старый" идентификатор(old_id), false в случае неудачи</p>
 +
    <hr>
 +
  </li>
 +
 +
  <li><span style="color:blue">setFieldIdRelation()</span> - Добавить новую связь между полями в cms3_import_fields.
 +
    <p>'''Параметры:''' <br/>
 +
    Int <span style="color:blue">$source_id</span>:
 +
    Идентификатор ресурса<br/>
 +
    String <span style="color:blue">$type_id</span>:
 +
    "Новый" идентификатор импортированного типа данных<br/></p>
 +
    String <span style="color:blue">$old_field_name</span>:
 +
    Имя импортируемого поля<br/></p>
 +
    Int <span style="color:blue">$new_field_id</span>:
 +
    id поля в UMI.CMS<br/>
 +
    <p>'''Результат:''' Возвращает id поля в UMI.CMS</p>
 
     <hr>
 
     <hr>
 
   </li>
 
   </li>
 
</ul>
 
</ul>
 
  [[category:API]]
 
  [[category:API]]

Версия 14:46, 7 апреля 2014

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

Например, из 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() - Добавить связь импортируемой сущностью/страницей в 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