在 Liferay 中重载 Web 内容 Portlet
Overloading web content Portlet in Liferay
在 Liferay 中,当您向页面添加网页内容时,会创建一个 Portlet,您可以选择要显示的网页内容(以管理员身份登录时),您还可以选择一些参数(查看权限内容,分享...)。
我想创建一个重载此 Portlet 的 Portlet,以允许管理员使用自定义参数选择他/她的 Web 内容。
有谁知道如何做到这一点?谢谢!
我想到的第一个想法是挂钩默认 Web 内容
Display Portlet 这将允许您添加一些自定义业务
此 portlet 的逻辑,不需要实现您已经获得的所有内容
从原来的。这仍然很大程度上取决于你的新
您要添加的功能很复杂。
正如你所说,你是初学者,所以这里有一些提示,如何开始创建钩子:
- 访问 https://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/liferay-plugin-types-to-develop-with-maven 部分 使用 Maven 开发 Liferay 挂钩插件 该原型将为您创建挂钩插件的默认结构。
- 下一步,是下载您的 liferay 源(如果您还没有)访问官方网站 https://www.liferay.com/downloads/liferay-portal/available-releases
- 现在,当您有了源代码后,获取这些您要修改的 .jsp 文件,然后复制到您的挂钩中。确保保持默认的文件夹结构。
- 在指定位置添加自定义逻辑,部署后进行测试。
- 祝你好运
另一个想法是使用 maven war overlay 你可以阅读
关于更多 http://java.dzone.com/articles/mavens-war-overlay-what-are
正如您所说的,您是初学者,我建议创建您自己的独立于 Liferay 的 portlet 的 portlet。您可以使用 Liferay 的 API 来获取您喜欢的文章及其内容,同时实现您自己的功能来过滤出您喜欢的内容。
我建议自定义 portlet 的原因是:Liferay 的 portlet 必须尽可能通用,以匹配尽可能多的用例。因此,在实现中有很多您不需要(也不需要理解)的条件。如果您有一些狭窄的非通用要求以获得替代行为,那么您更容易准确地实现这些要求,而不是添加到通用的、高度条件化的 UI。另外,您可能希望保留原始 UI 用于其他目的。如果您在自己的实施中犯了错误,原来的 Web 内容显示 Portlet 仍会继续工作。
话虽如此,您也可以查看 AssetPublisher portlet。它是内容管理的瑞士军刀,可能已经可以满足您的需求(甚至更多)。这采用标准并将在运行时评估它们,显示匹配的文章(或其他内容类型)。
在 Liferay 中,当您向页面添加网页内容时,会创建一个 Portlet,您可以选择要显示的网页内容(以管理员身份登录时),您还可以选择一些参数(查看权限内容,分享...)。 我想创建一个重载此 Portlet 的 Portlet,以允许管理员使用自定义参数选择他/她的 Web 内容。
有谁知道如何做到这一点?谢谢!
我想到的第一个想法是挂钩默认 Web 内容 Display Portlet 这将允许您添加一些自定义业务 此 portlet 的逻辑,不需要实现您已经获得的所有内容 从原来的。这仍然很大程度上取决于你的新 您要添加的功能很复杂。
正如你所说,你是初学者,所以这里有一些提示,如何开始创建钩子:
- 访问 https://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/liferay-plugin-types-to-develop-with-maven 部分 使用 Maven 开发 Liferay 挂钩插件 该原型将为您创建挂钩插件的默认结构。
- 下一步,是下载您的 liferay 源(如果您还没有)访问官方网站 https://www.liferay.com/downloads/liferay-portal/available-releases
- 现在,当您有了源代码后,获取这些您要修改的 .jsp 文件,然后复制到您的挂钩中。确保保持默认的文件夹结构。
- 在指定位置添加自定义逻辑,部署后进行测试。
- 祝你好运
另一个想法是使用 maven war overlay 你可以阅读 关于更多 http://java.dzone.com/articles/mavens-war-overlay-what-are
正如您所说的,您是初学者,我建议创建您自己的独立于 Liferay 的 portlet 的 portlet。您可以使用 Liferay 的 API 来获取您喜欢的文章及其内容,同时实现您自己的功能来过滤出您喜欢的内容。
我建议自定义 portlet 的原因是:Liferay 的 portlet 必须尽可能通用,以匹配尽可能多的用例。因此,在实现中有很多您不需要(也不需要理解)的条件。如果您有一些狭窄的非通用要求以获得替代行为,那么您更容易准确地实现这些要求,而不是添加到通用的、高度条件化的 UI。另外,您可能希望保留原始 UI 用于其他目的。如果您在自己的实施中犯了错误,原来的 Web 内容显示 Portlet 仍会继续工作。
话虽如此,您也可以查看 AssetPublisher portlet。它是内容管理的瑞士军刀,可能已经可以满足您的需求(甚至更多)。这采用标准并将在运行时评估它们,显示匹配的文章(或其他内容类型)。