通过 API 创建表达式引擎 post

creating an Expresison Engine post via the API

我正在尝试通过自动脚本在 Expression Engine 支持的网站中创建一个 post,但由于我自己以前从未使用过 EE,事实证明这是一项比最初更复杂的任务预期!

我本来只是想直接转储到数据库中,但看起来有多个表存储 post 数据所以而不是试图弄清楚要转储什么并希望 EE 永远不会改变结构,我认为更好的方法是使用它的 API,我也不知道它的存在。

https://docs.expressionengine.com/latest/development/legacy/api/api_channel_entries.html#Api_channel_entries::save_entry 使这看起来很简单,但显然我的独立脚本还不存在 ee()...

我如何从表达式引擎本身之外的脚本启动 ee() class,以便我可以直接创建 posts?

这是 EE 2.8,如果有区别的话。

非常感谢。

此致。

这里有一个现有的类似的Stack Exchange answer,基本上看看index.php,看看他们是如何本地实例化整个EE应用程序的。但出于安全原因,建议您不要这样做!

相反,您可以考虑:

  • 编写一个简单的扩展以通过 hook 捕获端点 URL 并使用 EE 中的 API(正确地),这将通过 POST 或restful数据。
  • 从 EE 站点(服务器端或 Ajax)上的页面加载 channel form,然后利用它的值提交到 EE 站点上的另一个页面以 create/edit条目
  • 看看它是否已经存在于 restful API add-on (EE2 & EE3)
  • 修改数据库其实并不难,EE2不会再有任何更新,所以数据结构不会改变(一般只有channel_titles & channel_data,但要看你是否也有网格和类别数据)。但这是一个安全问题!