Четыре CMS, один интерфейс публикации: WordPress, 1С-Битрикс, InSales и Joomla
<img src="https://habrastorage.org/getpro/habr/upload_files/bc9/021/461/bc90214610cc79fbfae95353b342132d.png" /><p>Полгода назад я делал сервис, который генерирует статьи и сам кладёт их на сайт. Написать текст казалось сложной частью, а публикация — формальностью: ну дёрнем REST API, что там может быть.</p><p>Оказалось наоборот. Четыре CMS — четыре разных мира, и в каждом свой способ соврать вам об успехе.</p><p>Joomla возвращает 400, когда статья уже создана: плагин «Умный поиск» падает после записи в базу. Повторили запрос — получили дубль. InSales требует <code>published_at</code> даже у черновика, потому что черновиков там просто нет. А у 1С-Битрикс метода для создания статьи через API не существует вовсе — официальная документация прямо говорит про read-only режим.</p><p>Внутри: как выглядит общий интерфейс на четыре системы, почему <code>CIBlockElement::Add()</code> возвращает ошибку при успешно созданном элементе, зачем понадобилась двойная буферизация вывода и прямой SQL в обход автотранслитерации.</p> <a href="https://habr.com/ru/articles/1080270/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1080270#habracut">Читать далее!</a>
