gpt4 book ai didi

liferay - 我们如何覆盖 liferay7 中的 liferay 模块?

转载 作者:行者123 更新时间:2023-12-02 04:34:25 25 4
gpt4 key购买 nike

我是 liferay 7 的新手,实际上我们正在将 liferay 6.2 迁移到 liferay-7,在 6.2 中我们使用 ext 来覆盖 Action 类但在 liferay-7 中我得到了一些融合,你能帮忙吗我出去。

我的分机的主题是:每当从控制面板在组织中创建新角色时,我们需要将角色信息和组织信息存储在我们的自定义表中在 LR6.2 中覆盖了 EditRoleAction.java,所以我们试图在 LR7 中实现同样的事情。

Liferay 6.2 中的 Action 类:

传送门路径:D:\Liferay6.2workspace\portal\portal-impl\src\com\liferay\portlet\rolesadmin\action\EditRoleAction.java

扩展路径:CutomRoles-ext/docroot/WEB-INF/ext-impl/src/com/liferay/portlet/rolesadmin/action/EditRoleAction.java

Liferay 7.0GA4 中的 Action 类:

D:\Liferay7GA4\portal\modules\apps\foundation\roles\roles-admin-web\src\main\java\com\liferay\roles\admin\web\internal\portlet*RolesAdminPortlet.java *

最佳答案

重写 Action 听起来确实不是正确的去处。查找ServiceWrappers - 这些将在业务层上运行,您可以将额外的代码添加到(从内存中)RoleLocalService.addRole(...) 和其他相关方法。

Ext 从来都不是这个目的所必需的,一开始就不应该使用。事实上,使用 ext 与使用常规插件路线相比,您故意使维护和升级更加困难。在 Liferay 7 和 DXP 中,ext 的使用应该是极其罕见的绝对异常(exception)。事实上,它在迄今为止缺席之后才被重新引入(因为在一些罕见的异常(exception)情况下它仍然是唯一的方法)。但是,可以安全地假设您不需要它。

既然这个答案的评论中的描述比问题中的描述更进一步:您可能还需要一些 portlet 级别的自定义。为此:确定 portlet 当前在何处实现(例如,确定模块)并覆盖其操作(很有可能 this article 可以提供帮助)以及可能的 UI。

还有另一种选择:您可以通过在组织的站点中使用 Teams 来实现相同的目的:它们的行为几乎类似于角色,但仅适用于单个站点(虽然没有组织,但您声明您的组织有站点无论如何)

关于liferay - 我们如何覆盖 liferay7 中的 liferay 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45014458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com