当前位置: 首页 > 知识库问答 >
问题:

Liferay 7 Eclipse IDE覆盖默认类别行为

凤经武
2023-03-14

我需要创建一个portlet来更改Liferay 7中默认的类别行为/接口
我的目标是复制asset类别表,扩展和更改其列,并使用这个新表作为Liferay后端中类别的参考。

因此我的portlet必须更新三个关键点:

  1. 在DB上创建/更新类别表的类别组织UI。我能够创建一个新的Liferay模块项目(面板应用模板),它可以从侧面菜单显示用户界面后端界面,并与数据库交互。
  2. 在web内容属性面板中覆盖默认类别选择面板(元数据

我目前处于第2点,因为在创建了一个新的Liferay模块项目片段之后,将目标主机OSGI Bundle设置为com。利弗雷。资产类别。选择器。web(我认为这是正确的,如果不是,请纠正我)并选择被覆盖的文件作为META-INF/resources/view。jsp,我无法继续重新绘制类别选择界面

这里是我的尝试:

  1. 更新代码视图。jsp(例如添加一些文本字符串)我可以在portlet中正确地看到它们

下面是一些截图:

共有1个答案

顾亦
2023-03-14

我需要创建一个portlet以更改Liferay 7中的默认类别行为/接口。我的目标是复制asset类别表,扩展和更改其列,并使用此新表作为Liferay后端中类别的参考。

仅此一项听起来就好像是一项艰巨的任务,比一个问题所能解决的问题还要艰巨。

资产类别用于每一种内容类型,例如:网站内容,博客文章,留言板帖子,维基页面,知识库文章等。用你自己的实现替换这样一个重要的组件会安全地破坏你的下一次升级体验,因为在那里你必须再做一次,把你的代码带到下一个版本中将要做的任何改变。这个“升级”包括安全补丁。

总的来说,你的前提听起来像一个x-y问题,我更建议你从你预期的解决方案中退一步,寻找其他选项来满足你的业务需求。肯定有一些。

我的建议是:与其剥离一个非常核心和通用的组件,不如在平台上添加一些东西,以特定于业务的方式重新实现它。如果您需要不同于Asset Publisher提供的筛选:构建您自己的Asset Publisher,并在那里实施特定于业务的规则。或者重新考虑一下,用与当前不同的方式组织内容。

除非您已经是Liferay Core开发人员,并要求提供有关如何更改下一版本实现的提示。但你的历史问题看起来不像。

 类似资料:
  • 我有一个RESTAPI,我不想强迫客户端发送请求参数。我有将近400个api方法,我不想将所有参数设置为“required=false” 我想覆盖Spring RequestParam的默认行为。我想将RequestParam接口的“required”属性的默认值设置为“false”。 有什么方法可以覆盖它吗?如果我不能或这不是最佳实践,有什么方法可以解决上述问题。

  • 问题内容: 我已经能够覆盖所有名称以“ android:”为前缀的主题,但是Android themes.xml还定义了似乎无法被覆盖的属性。例如: colorTheground是在Theme.Light xml中定义的,但是在此处添加它可以使我 错误。如何为整个应用程序覆盖该样式? 问题答案: 您可以用修改属性(如)的方式覆盖标准属性,只是不要忘记添加如下前缀:

  • 问题内容: 我想覆盖Java外观。我只想显示不同的按钮。 我想要Windows Look and Feel的所有功能,但仅按钮有所不同。希望你明白我的意思。 还告诉我如何制作圆形的JtabbedPane ??? 问题答案: 自定义GUI类 调用您的自定义GUI类

  • 问题内容: 我有一个模板与此: Django自动将此翻译为Terminarsesión西班牙语。但是,我想将其翻译为Cerrarsesión。 我试图将此文字添加到.po文件中,但是在编译消息时出现错误,指出该文字重复。 有没有一种方法可以更改/覆盖默认的Django翻译? 谢谢。 问题答案: 最简单的方法是收集在django.contrib.admin语言环境文件夹中找到的.po文件,然后重新编

  • 我试图将Spring应用程序(大部分)转换为Spring Boot应用程序。在应用程序中,我有一个HTTP基本过滤器,收集用户名和密码,然后在DataSource实现中作为变量传递。 在这个数据源中,getConnection()方法是这样的: (由于StackOverflow格式问题,\n作为新行) 在Spring中,我可以毫无问题地实现@autowiledPrivate DataSource

  • 我需要定制的工件安装,不知道如何覆盖默认的(从默认的maven生命周期)。所以我的问题是: 如何在我的pom.xml中配置maven install插件,使其不进行默认安装并执行我的自定义安装文件目标? 我尝试了没有id和默认安装id,但没有帮助。 更新:从提供的答案 - 这对我不起作用(我在日志中看到两次安装尝试)。