2

有没有办法只使用目录搜索产生的大脑来知道一个对象是基于原型还是基于敏捷?

4

2 回答 2

4

敏捷项目通常将其元类型设置为“敏捷项目”或“敏捷容器”。这在目录元数据中可用。

于 2013-01-03T20:18:24.133 回答
3

我不认为此信息已编入索引,但可以通过获取 FTI 轻松检索。处理大型结果集时可以缓存查找。

我认为这样的事情应该有效:

from plone.dexterity.interfaces import IDexterityFTI
from zope.component.hooks import getSite
from Products.CMFCore.utils import getToolByName

def is_dexterity(brain):
    ttool = getToolByName(getSite(), 'portal_types')
    fti = ttol.get(brain.portal_type)
    return IDexterityFTI.providedBy(fti)
于 2013-01-03T17:05:41.050 回答