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

Материал из Umicms
Перейти к:навигация, поиск
 
(не показано 38 промежуточных версий этого же участника)
Строка 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>
с идентификатором id = "3242", и записывает в таблицу cms3_import_relations следующую запись:
+
с идентификатором id = "3242", и записывает в таблицу cms3_import_relations следующую запись:
  
  
Строка 14: Строка 16:
 
</table>
 
</table>
  
 +
Когда в следующий раз из 1С опять придет <товар> с <ид> равным "42907251-d287-11de-9943-000fea605ee9", то заново его создавать UMI.CMS не будет, система просто обновит страницу с id = "3242".
  
Когда в следующий раз из 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>'''Результат:''' экземпляр класса redirects</p>
+
     <p>'''Результат:''' Экземпляр класса umiImportRelations</p>
 
     <hr>
 
     <hr>
 
   </li>
 
   </li>
  
   <li><span style="color:blue">getSourceId()</span> - Получить идентификатор ресурса (Каждому сценарию импорт в таблице cms3_import_sources соответствует свой ресурс)
+
   <li><span style="color:blue">getSourceId()</span> - Получить идентификатор ресурса (Каждому сценарию импорта в таблице cms3_import_sources соответствует свой ресурс)
 +
    <p>'''Параметры:''' <br/>
 +
    String<span style="color:blue"> $source_name</span>:
 +
    Имя ресурса </p>
 +
    <p>Например, commerceML2 или имя csv файла, или идентификатор ресурса, указанный в сценарии импорта.</p>
 +
    <p>'''Результат:''' Массив идентификаторов ресурсов</p>
 +
    <hr>
 +
  </li>
 +
 
 +
  <li><span style="color:blue">addNewSource()</span> - Добавить ресурс.
 
     <p>'''Параметры:''' <br/>  
 
     <p>'''Параметры:''' <br/>  
 
     String<span style="color:blue"> $source_name</span>:
 
     String<span style="color:blue"> $source_name</span>:
     Имя ресурса, например, commerceML2 или имя csv файла, или идентификатор ресурса, указанный в сценарии импорта.<br/>
+
     Имя ресурса<br/>
 +
    </p>
 +
    <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>
 +
  </li>
 +
 
 +
  <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/>
 +
    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>:
 +
    Идентификатор созданного/имеющегося типа<br/>
 
     </p>
 
     </p>
     <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>
 
     <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_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.

    Параметры:
    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 в случае неудачи