您的问题似乎是“Liferay 功能”。如果您使用站点自定义属性或更广为人知的 Group Expando 值,则每个 Group Expando 值都指向其站点的 classPk。例如,我的 Expando Value data_ 是"21005"而 classPK (Group/Site Id) 是"20373"。
您可以在 Liferay 数据库中查看:
SELECT * FROM lportal.expandovalue where data_ like 21005;
您将获得的 classPk "20373"是您的 Life-Site的classPk ,而不是您的 Staging-Site 的 classPk。
这是因为 Liferay 为您的暂存站点生成了一个新组,其中包含一个新的classPK(例如:"20791")和一个额外的数据库条目:lifeGroupId = "20373"。
您可以在您的数据库中检查它:
SELECT * FROM lportal.group_ where liveGroupId like 20373;
然后您将获得您的暂存站点。
抱歉解释困难,但这是您遇到的难题。
解决方案是什么?
在您的主题(或您获得 Expando 值的地方)中,您必须检查它是否是 StagingGroup 并使用 LiveSite 的 expando 值。像这样的东西:
if (myGroup.isStagingGroup(){ //com.liferay.portal.model.Group
myLiveGroup = myGroup.getLiveGroup;
Map<String, Serializable> myAttributes = myLiveGroup.getExpandoBridge().getAttributes(); //Use the expando values of Livesite
}
我希望我的回答可以帮助您在暂存站点上显示您的 expando 值。