2016-11-03 71 views
1

我想通过自动化脚本在Expression Engine动力网站上创建帖子,但由于我以前从未使用过EE,因此这被证明是一项更复杂的任务比最初的预期!通过API创建Expresison引擎帖子

我最初只是直接转储到数据库,但它看起来像有多个表存储后数据,而不是试图找出什么转储的地方,并希望EE永远不会改变结构,我在想更好的方法是使用它的API,我也不知道它存在。

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

我如何去从脚本启动表达式引擎外的EE()类本身,以便我可以直接创建帖子?

这是EE 2.8,如果这有所作为。

非常感谢。

问候。

+0

如果您对第三方解决方案开放,您可能需要查看DataGrab或Solspace Importer,它们都允许您基于结构化数据源(json,.csv等)创建条目。不错,因为您可以设置更新和替换匹配记录的规则。 – AllInOne

回答

2

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

相反,你可以考虑:

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

谢谢彼得。在EE内部建立一个处理程序以将请求传递给API是非常有意义的,但我确实可以选择在这种情况下直接更新数据库。 – Ric