Актуализиране на ръчно създадени обекти с данни от 1C
Почти винаги UMI и 1C са интегрирани от 1C, т.е. данните се разтоварват от 1C, след което автоматично се създават каталожни обекти и секции. При повторно качване на данни, всички обекти и секции се актуализират, UMI.CMS намира необходимия обект за актуализиране, благодарение на запазените съвпадения в Базата данни. В базата данни има таблицаcms3_import_sources, която изброява списъка с източници на данни, включителноcommerceML2. Ако >
Ако всички каталожни обекти в UMI.CMS са създадени ръчно и след това е необходимо да се свърже интеграция с 1C, тогава, за да се актуализират цените според данните от 1C, няма достатъчно съвпадения в базата данни, чрез които UMI.CMS може да определи кой обект да се актуализира. Данните в 1C могат да бъдат попълнени ръчно или въпреки трудностите, описани в тази статия, данните могат да бъдат импортирани чрез файла CommerceML2.0, създаден в UMI чрез модула „Обмен на данни“. Необходимите съвпадения могат да се добавят ръчно с помощта на кода:
В корена на сайта трябва да създадете php-файл с горното съдържание и да го стартирате. Използвайки формуляра, ID 1C и page_id UMI.CMS са посочени за добавяне на съвпадение.
Възможно е също така автоматично добавяне на съвпадения, ако всеки обект от каталога има уникално име и в 1C обектът има същото име. За да добавите тази функционалност, добавете нов метод към файлаclasses/modules/custom.php:
След това трябва да копирате шаблона от файла\xsl\import\commerceML2.xsl:
към файл\xsl\import\custom\commerceML2.xsl.
След това, преди реда:
трябва да се обадите:
това е извикване на персонализирания методset_relation, който по името на обекта ще го намери в UMI и ще постави съвпадение на предадения ID(1C). Благодарение на метода set_relation, в момента, когато импортирането на данни вече се извършва, необходимата кореспонденция ще присъства в системата.