我正在创建一个没有groupId列的门户网站级别实体,因为数据将不属于任何组/站点。但是对于某些要求(下面给出的示例),我注意到我们需要提供groupId来获取一些信息。我的问题
我在尝试在我的实体(没有groupId)上启用与asses框架的搜索和集成时遇到了这个问题。按照教程,我需要先进行以下操作
<finder name="G_S" return-type="Collection">
<finder-column name="groupId" />
<finder-column name="status" />
</finder>
https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/enabling-assets-at-the-service-layer
现在我没有任何专栏,该怎么办?
答案 0 :(得分:1)
实际上,我会鼓励您不要认为实体只是全局的。
如果您在单个站点中,则可以很好地工作,因为您可以将所有实体都保留在站点中,并且它们的行为就好像是“全局”一样。
如果您处于多站点情况,则似乎只希望一个实体在所有站点之间共享。但是,通常我发现要在全球范围内创建和使用的东西,通常您的站点会希望对站点本地应用程序执行类似的操作。
如果您想走自己的路,那么Global小组就是您的选择。您可以使用以下方法进行检索:
Group globalGroup = _groupLocalService.getFriendlyURLGroup(
companyId, GroupConstants.GLOBAL_FRIENDLY_URL);