簡體   English   中英

通過API向Liferay添加內容

[英]Adding content to Liferay via API

我開始使用Liferay Portal,我想通過Liferay滿足兩個基本需求。

  1. 是否可以通過API級別向CMS添加內容? 我想“從代碼”插入一些數據。
  2. 更重要。 如何實現這樣的情況,即對於每個創建的用戶,都會生成自己的主頁,上面帶有一些預定義的模板元素?

到目前為止,我一直在嘗試使用Google進行搜索,但沒有發現任何幫助。 也許有些關鍵詞?


在分析了專門用於服務和ServiceBuilder的文檔后,我意識到這不是我想要的。

讓我展示一個基於Websphere的示例。 在Websphere中,我們有許多EJB組件可用於執行某些操作,與門戶交換信息,易於使用。 Liferay中是否有不涉及Web服務的類似機制?

我對這種問題的建議是看一下sevencogs-hook的源代碼。 這個鈎子的結構基本上只是一個長腳本,該腳本只運行一次,就可以為用戶,站點,頁面,內容等設置一個完整的演示站點。該代碼運行一次(第一次部署后),然后再也不會運行。 沒有(明顯的)條件,沒有可以理解的上下文等。

您基本上可以僅瀏覽所有內容,並且-在此過程中-了解如何在Liferay中創建內容(以及頁面,圖像,博客文章等)並將其放置在頁面上。

該鈎子訪問Java API,可通過Webservices獲得非常相似的API。 基本上,Liferay的所有Portlet都使用相同的API進行業務。

編輯:其他信息,以保持此答案有價值/當前:Sevencogs已停產,但在舊版本中仍然可用(源和二進制)。 該API稍有更改,因此編譯/運行它需要一些工作。 James Falkner在博客中介紹了剩余的經驗和教訓-這些摘錄是從sevencogs中提取的,並包含與API配合使用的相關代碼段。

從文檔中查看此頁面 :聞起來像SOAP接口(它們提到了某種文檔上載器服務,並且我已經閱讀axis )。

您會找到一些url示例,其中應提供可用的Web服務列表。

對於數字1,您可以使用以下之一:

JournalArticleLocalServiceUtil.addArticle()

從portlet編程添加Liferay Web Content的方法。 如果下載Liferay Portal源,則可以看到這些方法的結構。

對於數字2,可以創建帶有預配置portlet的頁面模板(通過Plugins-SDK),然后使用API​​通過以下方式之一以編程方式創建頁面:

LayoutLocalServiceUtil.addLayout()

方法。

如果您對這些評論還有其他具體的問題,希望對您有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM