【问题标题】:Create Liferay public pages on server start在服务器启动时创建 Liferay 公共页面
【发布时间】:2015-01-20 13:01:25
【问题描述】:

我想创建一个 Liferay 挂钩,在服务器启动时创建公共页面。

我已经将钩子绑定到服务器启动。但是我在创建页面时遇到了一些问题。 也许我对用户、组、社区的看法有误等(请记住,此挂钩无权访问 themeDisplay)。

Company company = CompanyLocalServiceUtil.getCompanyByMx(PropsUtil.get(PropsKeys.COMPANY_DEFAULT_WEB_ID));
long companyId = company.getCompanyId();
User defaultUser = UserLocalServiceUtil.getDefaultUser(companyId);

long userId = defaultUser.getUserId();
long groupId = GroupLocalServiceUtil.getCompanyGroup(PortalUtil.getDefaultCompanyId()).getGroupId();
boolean privateLayout = false;
long parentLayoutId = LayoutConstants.DEFAULT_PARENT_LAYOUT_ID;
String name = page.getName();
String title = null;
String description = null;
String type = LayoutConstants.TYPE_PORTLET;
boolean hidden = false;
String friendlyUrl = "/test";

ServiceContext serviceContext = new ServiceContext();
serviceContext.setScopeGroupId(groupId);


LayoutLocalServiceUtil.addLayout(userId, groupId, privateLayout, parentLayoutId, name, title, description, type, hidden, friendlyUrl, serviceContext);
LayoutTypePortlet layoutTypePortlet = (LayoutTypePortlet) layout.getLayoutType();
layoutTypePortlet.setLayoutTemplateId(userId, page.getLayoutId());

LayoutLocalServiceUtil.updateLayout(layout.getGroupId(), layout.isPrivateLayout(), layout.getLayoutId(), layout.getTypeSettings());

该页面从未列出...

【问题讨论】:

  • 所以也许正确的问题是:我应该如何让公司、组、用户等使用公共页面?
  • 我需要一个按钮来发表这条评论:如果您在不同的位置发布相同的问题,请将两者联系起来,以便 a) 如果您已经有了答案,并且 b) 任何人如果碰巧在另一个位置,有相同问题的人可以找到答案。 liferay.com/community/forums/-/message_boards/message/47932640
  • 6.2 版有一些示例代码,请在此处查看我的答案:stackoverflow.com/a/37328258/1180235

标签: java liferay


【解决方案1】:

您可能想检查旧的 Sevencogs 钩子演示代码的剩余部分 - James Falkner has blogged about 它并恢复了一些代码。它可能不适用于当前版本,但如果有任何 API 更改,它们都是次要的。

请特别注意那篇文章中的“向站点添加布局(页面)”段落,并将其与您的代码进行比较。

另请注意,“在服务器启动时”意味着您必须注意不要两次创建相同的页面。它会在每一个服务器启动时发生 - 或者实际上在你编写的每个钩子部署时发生。

【讨论】:

  • 感谢 Olaf,文章没有回复在哪里可以找到正确的组...(是的,我检查之前是否没有创建过该页面。)
猜你喜欢
  • 1970-01-01
  • 2018-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多