通过API

时间:2016-11-03 21:18:19

标签: expressionengine

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

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

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

我如何从Expression Engine本身之外的脚本启动ee()类,以便我可以直接创建帖子?

这是EE 2.8,如果这会产生影响。

非常感谢。

问候。

1 个答案:

答案 0 :(得分:2)

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

相反,您可以考虑:

  • 编写一个简单的扩展来通过hook捕获端点URL,并使用EE内部的API(正确),这些API本来是POST或宁静的数据。
  • 从EE站点(服务器端或Ajax)的页面加载channel form,然后利用它的值提交到EE站点上的另一个页面以创建/编辑条目
  • 查看它是否已存在于restful API add-on(EE2& EE3)
  • 实际上修改数据库并不困难,EE2将不再有任何更新,因此数据结构不会改变(通常只有channel_titles& channel_data,但取决于你是否还有网格和类别数据)。但这是一个安全问题!