我试图在Liferay中覆盖我的个人资料portlet,我读到我可以用钩子来做,但我找不到这个portlet的原始.jsp。
并在文档中:https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/overriding-a-modules-jsps
他们提到Fragment-Host
Fragment-Host:com.liferay.login.web; bundle-version =" [1.0.0,1.0.1)"
但有人知道哪个是我个人资料的片段主持人? 在哪里可以找到.jsp的原始代码?
答案 0 :(得分:2)
将portlet添加到页面时,请转到"外观" /"高级CSS"并查看此portlet所注明的portlet ID。它看起来像portlet_com_liferay_contacts_web_portlet_ProfilePortlet_INSTANCE_KXj9dBbRgJFs
。这将为您提供portlet实现位置的提示,这应该为您提供足够的提示,以找到您想要自定义的任何Portlet。
Liferay的编码标准通常明确定义portlet id,因此为com_liferay_contacts_web_portlet_ProfilePortlet设置源代码,然后使用此常量,应该可以轻松找到实现。 (注意:这并不是因为我不想在这里给你答案,而是因为我目前没有下载7.0 GA3源代码) / p>
在相关的说明中:钩子是#34;旧的"在Liferay的核心内覆盖JSP的方式高达6.2 - 你不应该再使用Liferay 7中的那个,尤其是现在很多JSP都在插件中,所以钩子无法抓住它们。使用JSP Fragments的方法是正确的。您需要解决在Liferay中找到的确切版本 - 应该在有关如何构建片段的文档中详细记录。