Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Странное письмо после попытки контакта через форму обратной связи

Автор SeweryssРаздел Настройка системы и модулей

Ответов: 1
Просмотров: 3092
Последний ответ 09 Января 2014, 13:46:35
от Seweryss
После импорта дампа базы не отображается структура

Автор EvgenyIvnРаздел Установка UMI.CMS

Ответов: 6
Просмотров: 7233
Последний ответ 10 Января 2013, 09:16:37
от admin
После переноса сайта не создаются миниатюры изображений

Автор hnika206Раздел Шаблоны XSLT

Ответов: 5
Просмотров: 5501
Последний ответ 21 Июня 2013, 10:34:21
от e.ioffe
Ошибки после добавления товаров в корзину

Автор koroganРаздел Настройка системы и модулей

Ответов: 3
Просмотров: 3423
Последний ответ 09 Ноября 2011, 19:20:41
от admin
data doSelection - проблемы после обновления 2.8.5.1

Автор koroganРаздел Макросы UMI.CMS

Ответов: 4
Просмотров: 4472
Последний ответ 24 Апреля 2012, 15:52:06
от korogan

0 Пользователей и 1 Гость просматривают эту тему.

*

Alexey

  • *
  • 42
  • +3/-0
    • Просмотр профиля
Всем доброго времени суток!

Возник следующий вопрос. Кастомизирую обмен с сайтом. Необходимо выполнить APIшный код до и после процедуры обмена 1С с сайтом. Cтандартные точки вызова в режимах before и after exchangeOnAddElement и exchangeOnUpdateElement, к сожалению, не подходят, т.к. срабатывают для каждого товара отдельно, а надо отследить обмен 1С с сайтом в целом. Вторгаться в код системного файла auto.php крайне не хотелось бы, а кастомизировать его не представляется возможным. Пока временно сделал standalone файл, периодически запускаю его для достижения нужного эффекта.

Была еще мысль использовать cron для периодичного запуска и исполнения скрипта, но такой вариант не совсем пригоден для нашей ситуации. Хотелось бы привязать код именно к событию обмена 1С с веб-сайтом. Подскажите, пожалуйста, как это лучше сделать.

Наверняка кто-то сталкивался с подобным, не обязательно прям с событием обмена с 1С, а с подобного рода задачей.

В службу заботы отписал, прошло 3 или 4 дня, ответа пока так и не дождался (хотя бы каких-то идей, мыслей или наводящих советов - вообще ничего). Вся надежда на помощь народа.  ;)
« Последнее редактирование: 20 Января 2013, 13:05:02 от Alexey »

*

Vladimir

  • ****
  • 279
  • +48/-0
    • Просмотр профиля
Во-первых, 3-4 дня для СЗ это нормально, думаю, во вторник вам ответят.

Лично я бы не смущаясь переписал системный класс; в конце-концов, cms -  это не священная корова, а рабочий инструмент, который должен решать поставленную задачу. Надо только задокументировать изменения, чтобы можно было всегда и откатиться обратно, и повторить изменения, если их случайно затрут.
Тем более, смысл хранить целостнось имеет только если вы намерены регулярно оплачивать поддержку.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
если говорить конкретно о импорте, то автоматический импорт из 1с происходит с участием splitter файла, указанного параметром exchange.commerceML.splitter,  который прописан в config.ini , в секции [modules].
Cам файл лежит в папке /classes/system/subsystems/import/splitters и соответственно называется commerceML2Splitter.php.

Принцип работы такого рода файлов (правила импорта) можно разобрать самому или почитать в статьях типа этой Добавление нового сплиттера для импорта данных.

В итоге, вы можете создать свой сплиттер который легко и просто встраивается в систему и не перезатирается при обновлении.

P.S. Дело осталось за малым, написать свой сплиттер  ;)

*

Alexey

  • *
  • 42
  • +3/-0
    • Просмотр профиля
Vladimir, спасибо за совет, именно так и планировал сделать в крайнем случае, если не будет найдено другого решения.

admin, спасибо, что подсказал, в какую сторону можно подумать. Я изучил вопрос более детально и, собственно, решил задачу именно таким образом.