Plone 根据用户属性隐藏灵巧度字段

Plone 根据用户属性隐藏灵巧度字段,plone,dexterity,Plone,Dexterity,在添加Dextrity对象时,我有两个字段,其中我们希望根据保存在成员数据中的用户属性只显示一个字段 模式定义类似于: class IMyApplication(form.schema): fieldA = schema.textline(...) fieldB = schema.textline(...) 我想根据用户属性向用户显示这两个字段中的一个字段 预先感谢指导/链接/建议。 首先请考虑在中自定义添加/编辑表单的示例。 然后可以在表单的updateWidgets

在添加Dextrity对象时,我有两个字段,其中我们希望根据保存在成员数据中的用户属性只显示一个字段

模式定义类似于:

class IMyApplication(form.schema):
      fieldA = schema.textline(...)
      fieldB = schema.textline(...)
我想根据用户属性向用户显示这两个字段中的一个字段


预先感谢指导/链接/建议。

首先请考虑在

中自定义添加/编辑表单的示例。 然后可以在表单的updateWidgets方法中隐藏字段

示例代码(未测试):

从plone.dexterity.browser.add导入DefaultAddForm
从z3c.form导入接口
类AddForm(DefaultAddForm):
def updateWidgets(自我):
super(AddForm,self).updateWidgets()
如果我的情况:
self.widgets['myfield'].mode=interfaces.HIDDEN_mode
由于您必须在
add
edit
表单中执行相同的操作,因此您可以通过自定义创建一个mixin类