- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当通过另一个 portlet(比如 abc-portlet)中的链接在弹出窗口中显示一个 portlet(比如 test-portlet)时,scopeGroupId
test-portlet 中显示的始终是 groupId,而不是为 abc-portlet 配置的 page-scope-id 或 scopeGroupId。
如果问题不明确,请遵循更多详细信息。
基本上我所做的就是这个answer中提到的内容.下面将作简要介绍。
<scopeable>true</scopeable>
<add-default-resource>true</add-default-resource>
方向上的任何指示都会有很大帮助。
环境:Liferay 6.2 EE 与 Tomcat 捆绑在一起
谢谢
注意:还在Liferay Developer Forum上交叉发布了这个.
最佳答案
所以经过一番搜索终于发现了liferay是如何做到的。提示来自 ServicePreAction 中的源代码:
if (!group.isControlPanel()) {
doAsGroupId = 0;
}
Liferay 在 Related Assets
中使用此功能用于在添加或编辑 Assets 时添加博客、wiki、文档、文件夹等,因此检查了 JSP /html/portlet/asset_browser/toolbar.jsp
查看 URL 是如何制作的。
Liferay的步骤和我想做的差不多:
人们会认为属性 doAsGroupId
正好适合这种场景。是的,它是必不可少的,但仅凭它是不够的,令人惊讶的是,另一个必不可少的属性是 plid
.默认 plid
将是用户所在的当前页面/布局,URL 将根据当前页面创建,但此默认值没有帮助。
plid
需要设置为Control Panel
的plid !
这是我们在 abc-portlet 中编写的示例 renderURL,用于在弹出窗口中打开 test-portlet,注意属性 doAsGroupId="<%=scopeGroupId %>" and plid="<%=controlPanelPlid %>"
的 <liferay-portlet:renderURL
:
<%
long controlPanelPlid = PortalUtil.getControlPanelPlid(company.getCompanyId());
%>
<liferay-portlet:renderURL var="testPortletURL" portletName="test_WAR_testportlet" windowState="<%=LiferayWindowState.POP_UP.toString() %>"
doAsGroupId="<%=scopeGroupId %>" plid="<%=controlPanelPlid %>" refererPlid="<%=plid %>">
<liferay-portlet:param name="referringPortletResource" value="abc_WAR_abcportlet" />
</liferay-portlet:renderURL>
<%
String testPortletURLJavascript = "javascript:Liferay.Util.openWindow({dialog: {destroyOnHide: true}, id: 'test', title: 'Test Portlet View', uri: '" + HtmlUtil.escapeJS(testPortletURL) + "'});";
%>
<h4><a href="<%=testPortletURLJavascript%>">Click here to open test portlet in pop-up</a></h4>
想知道liferay为什么想到使用plid="<%=controlPanelPlid %>"
而不仅仅是 doAsGroupId
这看起来很简单。
注意:我还发现如果我们使用 plid="<%=controlPanelPlid %>"
我们不需要 <add-default-resource>true</add-default-resource>
在 liferay-portlet.xml
如果需要动态添加资源,这是必不可少的。
希望这对某人有帮助。
关于liferay - 使动态添加的 portlet 具有与调用 portlet 相同的 scopeGroupId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27426444/
假设我正在向 Liferay Portal 内的不同 portlet 添加数据。所有这些数据都保存在哪里? 最佳答案 Liferay 附带的大多数开箱即用的 portlet,如博客、论坛、Wiki、W
我需要的是: Administrator-level-1(可以编辑所有2级和3级的简单用户和管理员) Administrator-level-2(可以编辑所有普通用户和3级管理员) 管理员级别 3(甚
我在 liferay 工作。我们在我们的项目中使用一个模块来创建 liferay 主题。我使用命令 ant -Ddeploy.war=true 将它部署在服务器中。 war 文件在 liferay 部
我需要一个简单的 Liferay Web 表单扩展,以增强 Liferay 7 Web 表单中填充的数据的文件附件。 还需要将此文件作为附件随电子邮件发送给注册用户。 我知道如何在 liferay 6
When Local Live staging is enabled for a site, a clone of the site is created containing copies of a
我在 liferay 工作。我们在我们的项目中使用一个模块来创建 liferay 主题。我使用命令 ant -Ddeploy.war=true 将它部署在服务器中。 war 文件在 liferay 部
插件的代码如何访问在其自己的 liferay-plugin-package.properties 文件中设置的属性? 最佳答案 您可以使用 DeployManagerUtil 首先导入以下内容: im
Liferay 7 GA1 刚刚发布,但文档尚未完成。如何将默认的 liferay Logo 更改为公司 Logo ?当然,我希望每个网站都有一个自定义 Logo 。 最佳答案 进入控制面板->配置-
我一直在阅读有关从 liferay 6 迁移到 liferay 7 的 liferay 文档 ( https://dev.liferay.com/develop/tutorials/-/knowled
我想问一个关于是否应该迁移到 Liferay 6.2 的问题。 我和我的团队从 4 个月开始就在使用 Liferay 6.1(CE 版)开发的一个相当大的门户网站上工作,现在,由于项目发布日期仍然提前
我是 liferay 的新手,我几乎确信这非常简单:使用速度标记,我希望能够生成指向 Liferay 网站内页面的链接,并将它们嵌入到不同页面上的 portlet 中。 我对如何完成它有一个模糊的想法
我想知道为用户分配的站点角色名称列表。所以我尝试如下, List userRolesList = RoleLocalServiceUtil.getUserRoles(userid);
同样,我们是否有任何可能的解决方案来避免使用扩展方法/自定义实现/ Hook /插件/扩展将用户信息填充到 liferay 数据库中以进行身份验证? 问候维沙尔 G 最佳答案 无法避免在 Life
只是想知道任何一个与 liferay 集成的 wicket 。 在启用 ajax 的情况下对 wicket portlet 进行编码有多难? 有人在生产中使用 wicket portlet 吗? 最佳
我们在liferay 中有一个叫做嵌套portlet 的东西。我想通过代码动态添加这个 portlet。有谁知道用于添加嵌套 portlet 并在其中添加其他 portlet 的代码? 谢谢 !!!
如何以编程方式获取 Liferay 默认语言或区域设置? 最佳答案 检查 com.liferay.portal.kernel.util.LocaleUtil 类方法: LocaleUtil.getDe
是否可以在 service.xml 文件中不配置任何数据库表的情况下创建 liferay 服务构建器。 实际上这里的目的是使用 liferay 服务构建器创建一个服务层。并且在这个服务层没有直接与数据
众所周知,Liferay 具有创建用户的内置功能。但我希望有一个创建用户的工作流程,其中涉及批准过程。我的意思是,用户将由管理员创建,但它应该由另一个授权人批准,然后只有用户帐户将处于事件状态。 有什
我正在使用liferay6.1 和Java SDK 开发liferay portlet。 当用户登录并单击控制面板时,他们可以看到各种选项。有没有办法隐藏这个选项? 我还是新手,但我认为您可以将它从
我发现了如何使用journalContentUtil.getContent方法将Web Content嵌入Liferay 6.2主题中。我的问题是在Liferay 7中如何做同样的事情? 最佳答案 我
我是一名优秀的程序员,十分优秀!