我正在使用Plone 4.1和collective.externaleditor。我希望无论何时创建新用户,他的个人偏好ext_editor都将设置为True。
我订阅了用户创建活动,但我无法更改该属性:
configure.zcml中:
...
<subscriber
for="Products.PluggableAuthService.interfaces.events.IPrincipalCreatedEvent"
handler=".events.newUser"
/>
events.py:
from zope.app.component.hooks import getSite
from Products.CMFCore.utils import getToolByName
def newUser(user):
'''Sets external editor property to True for new users.'''
mtool = getToolByName(getSite(), 'portal_membership')
# what should i put here?
user.principal.setProperties({'ext_editor': True})
newUser没有做好自己的工作。 user.principal的类型是Ploneuser。它没有setMemberProperties方法,所以我不知道该怎么做。
collective.externaleditor也将一个属性'ext_editor'添加到控制面板,所以我可以通过编程方式更改它。
如何为新创建的用户设置ext_editor为True?
感谢。
答案 0 :(得分:3)
这是我找到的答案。
<强>简档/默认/ memberdata_properties.xml:强>
<?xml version="1.0"?>
<object name="portal_memberdata" meta_type="Plone Memberdata Tool">
<property name="ext_editor" type="boolean">True</property>
</object>