首页 > 解决方案 > 自定义用户偏好存储

问题描述

我正在创建一个包含一些用户偏好的新插件。假设每个用户可以从所有内容类别的列表中选择多个类别。

我的目标是:

你能推荐存储这些数据的最佳方式吗?我可以在不更改注册和个人默认表格的情况下使用会员数据吗?还是更好地使用持久化对象(导入持久化)?(任何例子都非常感谢。)

标签: ploneplone-4.x

解决方案


profiles/default/memberdata_properties.xml

<?xml version="1.0"?>
<object name="portal_memberdata">
  <property name="custom_topics" type="lines"></property>
</object>

您将创建要导入的升级步骤memberdata-properties

然后使用:

user = api.user.get(user_id)
user.getProperty("custom_topics")

获取值和

user.setMemberProperties({'custom_topics':list_of_selected_topics})

更新它们。

当目录被删除/加载项被卸载时,这些值仍然被存储。注册页面和个人偏好表格也没有变化,只有当您想要(通过扩展它们)时。


推荐阅读