【发布时间】:2013-03-02 17:25:07
【问题描述】:
.is_folderish 属性在很多地方都有使用。例如setting an object as the default view 或activating discussions on an object 时。
我的第一个问题是如何检查一个对象是否具有该属性集。我尝试使用类似这样的bin/instance debug:
>>> app.site.news.is_folderish
...
AttributeError: is_folderish
我想我无法通过这种方式访问属性,因为app.site.news 是具有该属性的对象的包装器。
我的第二个问题是如何将该属性添加到新的 Dexterity 对象。我想我可以使用下面的代码来做到这一点(但在我的第一个问题得到解决之前我无法对其进行测试)。
from zope import schema
from plone.dexterity.content import Item
class IHorse(form.Schema):
...
class Horse(Item):
def __init__(self):
super(Horse, self).__init__(id)
is_folderish = False
但我不确定如何将这两个类联系起来。
【问题讨论】:
-
我修改了我之前的评论;
is_folderish是索引,isPrincipiaFolderish是对象属性。这是在 Dexterity 对象上设置的,请参阅the source。