是否可以在Liferay中的"创建用户"下添加"额外字段"

Paw*_*wan 9 liferay liferay-6

我正在使用Liferay 6进行门户开发.在Liferay下创建用户期间,我还需要添加一些额外的字段吗?如果这是可能的,请告诉我?

请看这里附的屏幕截图,也请告诉我哪个表格会存放在数据库中?

在此输入图像描述

Pra*_*h K 12

是的,您可以将自定义属性功能 用于liferay实体(在您的情况下为User),并且可以为每个liferay实体添加所需数量的额外字段.

可以通过以下方式创建用户实体的自定义字段:
Control Panel -> Portal -> Custom Fields -> User.

并且可以按编程方式创建如下:

user.getExpandoBridge().addAttribute("yourCustomFieldKey");
Run Code Online (Sandbox Code Playgroud)

然后将值设置为:

user.getExpandoBridge().setAttribute("yourCustomFieldKey", "valueForCustomField");
Run Code Online (Sandbox Code Playgroud)

如果您的自定义字段已经存在,您可以像这样检查:

if (user.getExpandoBridge().hasAttribute("yourCustomFieldKey")) { ... };
Run Code Online (Sandbox Code Playgroud)

数据存储在前缀为"EXPANDO"的表中:

  • EXPANDOCOLUMN:存储自定义字段键和其他设置(包含tableId参考)
  • EXPANDODATA:存储键的自定义字段值(包含columnId和tableId参考)
  • EXPANDOTABLE:您为其添加自定义字段的liferay实体(用户)的商店
  • EXPANDOROW:存储用户及其值之间的信息链接(包含tableId和userId参考)

希望这可以帮助.


Mar*_*ark 3

是的,您可以将自定义字段添加到用户实体并将其字段值添加到用户:

user.getExpandoBridge().addAttribute(...);
Run Code Online (Sandbox Code Playgroud)

您可以通过控制面板或在 liferay 启动时以编程方式创建的用户实体的 Custim 字段Portal->Custom Fields

数据将存储在ExpandoValue表中。