2010-06-16 77 views

回答

1

Liferay CE帶有包含用於設置演示內容的代碼的「sevencogs-hook」,例如,用於演示Liferay網站的「Seven Cogs」虛擬公司。這以編程方式設置完整的站點。您可以閱讀該代碼並瞭解如何創建用戶和頁面,Portlet已添加到頁面中並配置爲顯示它們應顯示的內容。不僅如此:它運行的代碼可以很容易地閱讀,並且 - 副作用 - 一個很好的文檔。

http://svn.liferay.com/repos/public/plugins/trunk/hooks/sevencogs-hook/

登錄: 「客人」,沒有密碼

或下載你指的是版本的源代碼。

+0

感謝Olaf..I會嘗試一下 – 2010-06-21 12:38:42

0

喜歡的東西:

ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); 
Layout layout = themeDisplay.getLayout(); 
long plid = layout.getPlid(); 
long ownerId = PortletKeys.PREFS_OWNER_ID_DEFAULT; 
int ownerType = PortletKeys.PREFS_OWNER_TYPE_LAYOUT; 
long companyId = themeDisplay.getCompanyId(); 

String portletIdInc = layoutTypePortlet.addPortletId(userId, thisPortletID); 

// Retrieve the portlet preferences portlet instance just created 
PortletPreferences prefs = PortletPreferencesLocalServiceUtil 
    .getPreferences(companyId, ownerId, ownerType, plid, portletIdInc); 
// set desired language 
String languageId = LanguageUtil.getLanguageId(request); 

String urlImage = .... ; 
prefs.setValue("portlet-setup-title-" + languageId, report.getName()); 
prefs.setValue("portlet-setup-use-custom-title", "true"); 
prefs.setValue("src", report.getUrl()); 
prefs.setValue("img", urlImage); 
prefs.store(); 
String targetColumn = "column-1"; 
// update the portlet preferences 
PortletPreferencesLocalServiceUtil.updatePreferences(ownerId, 
     ownerType, plid, portletIdInc, prefs); 

if (Validator.isNotNull(targetColumn) && Validator.isNotNull(portletIdInc)) { 
    layoutTypePortlet.movePortletId(userId, portletIdInc, targetColumn, 2); 
} 

LayoutServiceUtil.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), 
     layout.getLayoutId(), layout.getTypeSettings()); 
+0

我如何編程添加instanciable門戶... – Coder 2014-08-22 05:34:47