在 liferay 7.0 ga3 中覆盖我的个人资料 portlet

Overwrite my profile portlet in liferay 7.0 ga3

我试图在 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 的原始代码?

当您将 portlet 添加到页面时,转到 "Look and Feel"/"Advanced CSS" 并查看此处为该 portlet 记录的 portlet ID。看起来像 portlet_com_liferay_contacts_web_portlet_ProfilePortlet_INSTANCE_KXj9dBbRgJFs。这会提示您 portlet 的实现位置,这应该会给您足够的提示来定位您想要自定义的任何 portlet。

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

在相关说明中:Hooks 是 "the old" 覆盖 Liferay 核心中的 JSP 的方法,最高可达 6.2 - 从 Liferay 7 开始你不应该再使用它,尤其是许多 JSPs 现在无论如何都在插件中,所以钩子无法抓住它们。 JSP Fragments 的方法是正确的。您需要解决您在 Liferay 中找到的确切版本 - 这应该在关于如何构建片段的文档中有详细记录。