Skip to content

Переделал обмен для записей блога на XML-формат#187

Open
temi4 wants to merge 2 commits into
andreyryabin:masterfrom
temi4:feature/blog-post-xml-exchange
Open

Переделал обмен для записей блога на XML-формат#187
temi4 wants to merge 2 commits into
andreyryabin:masterfrom
temi4:feature/blog-post-xml-exchange

Conversation

@temi4

@temi4 temi4 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Что сделано

Добавлен перенос записей блога через XML exchange-контур по аналогии с элементами инфоблока.

Как работает

  • Экспорт записей блога теперь пишет данные в blog_posts.xml через RestartableWriter.
  • Импорт выполняется через ExchangeManager::BlogPostsImport().
  • Директория exchange скрыта внутри reader/writer слоя и не передается в публичный BlogHelper.
  • В шаблоне миграции используется restartable-импорт с setLimit(20), это размер пачки, а не ограничение общего количества записей.
  • Сохранен выбор записей для миграции:
    • все записи;
    • список ID;
    • список CODE.

Что переносится

  • основные поля записи блога;
  • ATTACH_IMG;
  • категории;
  • права на запись и комментарии;
  • пользовательские поля UF_*, включая файловые и списочные значения.

Что изменено в контракте

  • Старый inline-экспорт записей в PHP-массивы заменен на XML.
  • Старый проброс exchangeDir в методы BlogHelper удален.
  • UF_* пишутся в XML отдельными полями.
  • exportPosts() удален как неиспользуемый legacy-метод.
  • exportPostById() оставлен только как внутренний метод для сравнения существующей записи при обновлении.

Ограничения

Картинки и файлы, встроенные внутрь DETAIL_TEXT / PREVIEW_TEXT, в этом PR не переносятся.

@temi4 temi4 changed the title Добавить XML-обмен для записей блога Переделал обмен для записей блога на XML-формат Jul 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant