2016-11-03 1 views
1

Я пытаюсь создать сообщение на веб-сайте с помощью Expression Engine с помощью автоматизированного сценария, но, поскольку я никогда раньше не использовал EE, это оказывается более сложной задачей чем первоначально ожидалось!Создание сообщения Expresison Engine через API

Я изначально просто собирался сбрасывать в базу данных напрямую, но похоже, что есть несколько таблиц, хранящих данные для почтовых сообщений, вместо того, чтобы пытаться выяснить, что сбрасывать где и на что EE никогда не меняет структуру, я думаю лучше было бы использовать его API, которого я также не знал.

https://docs.expressionengine.com/latest/development/legacy/api/api_channel_entries.html#Api_channel_entries::save_entry делает это выглядит достаточно просто, но, очевидно, й() еще не существует в мой автономный скрипт ...

Как бы идти о инициировании класса й() из скрипта вне Expression Engine так, чтобы я мог создавать сообщения напрямую?

Это EE 2.8, если это имеет значение.

Большое значение.

С уважением.

+0

Если вы открыты для сторонних решений, вы можете захотеть взглянуть на DataGrab или Solspace Importer, которые позволяют создавать записи на основе структурированного источника данных (json, .csv и т. Д.). Приятно, потому что вы можете настроить правила обновления и замены совпадающих записей. – AllInOne

ответ

2

Вот аналогичный Stack Exchange answer, в основном посмотрите на index.php, чтобы увидеть, как они изначально представляют все приложение EE. Но рекомендуется по соображениям безопасности!

Вместо этого вы могли бы рассмотреть:

  • Написание простого расширения, чтобы поймать конечную точку URL через hook и использовать API внутри EE (правильно), который был бы принят POST или успокоительные данные.
  • Загрузка channel form со страницы на сайте EE (на стороне сервера или Ajax), а затем использовать это значение, чтобы представить на другую страницу сайта EE для создания/редактирования записи
  • Смотрите, если он уже существует в restful API add-on (EE2 & EE3)
  • На самом деле это не так сложно изменить базу данных, и у EE2 больше не будет никаких обновлений, поэтому структура данных не изменится (как правило, только channel_titles & channel_data, но зависит, есть ли у вас данные сетки и категории также). Но это проблема безопасности!
+0

Спасибо, Питер. Создание обработчика в EE для передачи запросов API, на самом деле имеет большой смысл, но я действительно могу просто просто обновить базу данных непосредственно по этому поводу. – Ric

Смежные вопросы