2

オブジェクトがアーキタイプ ベースかデクスタリティ ベースかをカタログ検索の結果の頭脳のみを使用して知る方法はありますか?

4

2 に答える 2

4

通常、Dexterity アイテムの meta_type は「Dexterity Item」または「Dexterity Container」に設定されています。これは、カタログ メタデータで使用できます。

于 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 に答える