如何将自定义部分添加到 Liferay 中的用户编辑屏幕?

How to add a custom section to the User Edit Screen in Liferay?

我想在 Liferay 6.2 中自定义用户编辑页面。

首先,我想在用户编辑屏幕右侧的栏中添加一个新部分 (http://i.imgur.com/dshV5cJ.png)。我已经通过

等属性实现了这一点

users.form.add.main=customportlet

当我点击新创建的部分时,它会打开一个空白页面。如何在此处添加内容(数据将存储在单独的表中)?

我知道我可以通过配置简单地创建自定义字段,但我想通过这种方式实现它。

您要找的是hook

您使用文件 WEB-INF/liferay-hook.xml 作为部署描述符:

<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.2.0//EN" 
          "http://www.liferay.com/dtd/liferay-hook_6_2_0.dtd">
<hook>
    <portal-properties>portal.properties</portal-properties>
    <language-properties>Language.properties</language-properties>
    <custom-jsp-dir>/WEB-INF/custom_jsps</custom-jsp-dir>
</hook>

然后您在文件中定义附加部分 WEB-INF/classes/portal.properties:

# users.form.add.main is for the creation of a user only 
# I guess you mean the user edit screen:
users.form.update.main=my-section

WEB-INF/custom_jsps/html/portlet/users_admin/user/my-section.jsp 中将您的部分作为 JSP 文件实施:

<%@include file="/html/portlet/users_admin/init.jsp" %>

<h3><liferay-ui:message key="my-section" /></h3>
<%-- Implement your section --%>

并在 WEB-INF/classes/Language.properties 中标记您的部分:

my-section = My Section

就是这样。