0

我试图在 Liferay 中覆盖我的配置文件 portlet,我读到我可以使用钩子来完成,但我找不到这个 portlet 的原始 .jsp。

在文档中:https ://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/overriding-a-modules-jsps 他们提到了Fragment-Host

片段主机:com.liferay.login.web;bundle-version="[1.0.0,1.0.1)"

但有人知道哪个是我个人资料的片段主机?在哪里可以找到.jsp 的原始代码?

4

1 回答 1

2

当您将 portlet 添加到页面时,转到“外观”/“高级 CSS”并查看为该 portlet 记录的 portlet ID。它看起来像portlet_com_liferay_contacts_web_portlet_ProfilePortlet_INSTANCE_KXj9dBbRgJFs。这为您提供了有关 portlet 在何处实现的提示,并且应该为您提供足够的提示来定位您想要定制的任何 portlet。

Liferay 的编码标准通常明确定义 portlet id,因此 grep com_liferay_contacts_web_portlet_ProfilePortlet 的源代码,然后使用这个常量,应该很容易找到实现。(注:这里不是我不想给你答案,而是我目前没有下载7.0 GA3源代码)

在相关说明中:Hooks 是在 Liferay 6.2 的核心中覆盖 JSP 的“旧”方式 - 从 Liferay 7 开始,您不应该再使用它,尤其是现在很多 JSP 都在插件中,所以 hooks 不能抓住他们。使用 JSP 片段的方法是正确的。你需要找到你在 Liferay 中找到的确切版本——这应该在关于如何构建 Fragments 的文档中有很好的记录。

于 2017-09-23T19:47:42.933 回答