我正在尝试使用hook创建组织并为组织实体添加侦听器时为组织创建站点。
我使用GroupLocalServiceUtil
创建了网站,并在数据库中设置了siteName = String.valueOf(org.getOrganizationId()) + "LFR_ORGANIZATION" + org.getName()
。
此外,我设置了className
和classPK
,就像在liferay中创建网站组织时一样,但没有任何反应。网站创建成功,但与本组织无关。
UPD。 Liferay 6.1 GA1
public Group addSite(Organization org) throws PortalException, SystemException
{
ServiceContext serviceContext = new ServiceContext();
String siteName = String.valueOf(org.getOrganizationId()) + "LFR_ORGANIZATION" + org.getName();
Group newSite = GroupLocalServiceUtil.addGroup(
getDefaultUserId(),
"com.liferay.portal.model.Organization", // Class Name
org.getOrganizationId(), // Class PK
siteName , // Name
"", // Description
GroupConstants.TYPE_SITE_PRIVATE, // Type
org.getTreePath(), // Friendly URL
true, // Site
true, // Active
serviceContext);
OrganizationUtil.addGroup(org.getPrimaryKey(), newSite);
return newSite;
}
如何以编程方式创建此类组织网站?
答案 0 :(得分:2)
在Liferay 6.1中,似乎在创建组织时,已经有一个支持组。根据您传递的boolean site
参数,该组可能不可见:
OrganiztionLocalServiceUtil.addOrganization(
long userId, long parentOrganizationId, String name, String type,
boolean recursable, long regionId, long countryId, int statusId,
String comments, boolean site, ServiceContext serviceContext)
要使该网站对网页可见,只需致电:
OrganiztionLocalServiceUtil.updateOrganization(
long companyId, long organizationId, long parentOrganizationId,
String name, String type, boolean recursable, long regionId,
long countryId, int statusId, String comments, boolean site,
ServiceContext serviceContext)
site
参数设置为true
。