У меня возникла проблема с созданием страницы программным образом с помощью шаблона страницы. Создание страницы работает, но она не применяет шаблон страницы к странице. Я искал и нашел всегда те же фрагменты кода. Также нет ошибок.Liferay 6.2: Создание страницы программного шаблона не применяется
ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
long userId = themeDisplay.getUserId();
long groupId = themeDisplay.getScopeGroupId();
boolean privateLayout = false;
long parentLayoutId = 0;
String name = "Testpage";
String title = null;
String description = null;
String type = LayoutConstants.TYPE_PORTLET;
boolean hidden = false;
String friendlyURL = "/testpage";
ServiceContext serviceContext = new ServiceContext();
serviceContext.setAddGroupPermissions(true);
serviceContext.setAddGuestPermissions(true);
Group group = themeDisplay.getScopeGroup();
serviceContext.setScopeGroupId(group.getGroupId());
serviceContext.setUserId(themeDisplay.getUserId());
Layout layout = LayoutLocalServiceUtil.addLayout(userId, groupId, privateLayout, parentLayoutId, name, title, description, type, hidden, friendlyURL, serviceContext);
List<LayoutSetPrototype> lsps = LayoutSetPrototypeServiceUtil.search(themeDisplay.getCompanyId(), Boolean.TRUE, null);
for(LayoutSetPrototype lsp : lsps) {
System.out.println("->" + lsp.getName() + " - " + lsp.getLayoutSetPrototypeId());
if (HtmlUtil.escape(lsp.getName()).contains("kDSSMP")){
System.out.println("hit");
LayoutTypePortlet ltp = (LayoutTypePortlet) layout.getLayoutType();
ltp.setLayoutTemplateId(userId, lsp.getUuid(), false);
LayoutLocalServiceUtil.updateLayout(layout.getGroupId(), layout.isPrivateLayout(),layout.getLayoutId(), layout.getTypeSettings());
addResources(layout, PortletKeys.DOCKBAR);
}
}