2016-11-03 87 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