因此,情況就是如此。我想在我們新的Liferay 6.1站點上將我們以前網站的「舊」新聞添加到資產發佈者portlet。問題是我希望他們顯示出來,好像我過去添加了它們。通過Liferay API更改Liferay期刊文章(Web內容)上的createDate
所以,我想,修改createDate
有多難?我已經能夠直接訪問MySQL數據庫並在文章對象的createDate
字段上執行更新。然而,它似乎並沒有傳播到我的Liferay部署,無論是清除緩存,重新索引搜索索引並重新啓動Liferay。即使數據庫將其顯示爲我已將其更改爲的值,但網頁內容仍會保留它的「原始」createDate
。
這是我使用的查詢:
mysql> UPDATE JournalArticle SET createDate='2012-03-08 15:17:12' WHERE ArticleID = 16332;
我後來才知道,那是一個沒有沒有直接操作數據庫,數據庫的動態/ Liferay的是不是直線前進的Liferay的表演查找。所以看起來我可能需要使用Liferay API,即setCreateDate
,如here所示。
但我絕對不知道在哪裏以及如何利用API。我是否需要創建一個虛擬portlet,其唯一目的是使用此API調用?或者,我可以在運行我的Liferay部署的服務器上的某處創建一個.java文件,並運行它來利用此方法?
我只有15篇文章我需要這樣做。我可以通過參考ArticleID和GroupID來找到它們。
任何幫助將不勝感激。我使用grep
進行了Liferay部署,發現setCreateDate
在knowledge-base-portlet內部的.java文件中被嚴重使用,但是我不知道如何在不創建portlet的情況下直接使用它們。另一方面,如果有人知道如何讓我的數據庫能夠傳播,那麼它就是對Liferay部署的更改,儘管我知道這是一個骯髒的黑客攻擊,但這可能是最簡單的。
謝謝;對此,我真的非常感激。
這解決了它。太好了!我沒有意識到AssetEntry表格也包含相關的字段。如果我在兩個地方改變它,它的作品! – HodorTheCoder