portal_catalog用于Archetypes和Dexterity内容的唯一ID

时间:2011-12-23 17:27:10

标签: plone archetypes uid dexterity

我正在查询portal_catalog以使用(UID,Title)元组填充词汇表。该网站包含Archetypes和Dexterity内容。

brains = portal_catalog.searchResults(path={ "query": site_physical_path + "/" + folder_name },
               portal_type=["foobar.app.courseinfo", "Folder"] )

看起来Dexterity内容没有给出正确的UID,事实上所有Dexterity项都有相同的UID(它甚至不是无效值)。

 ('29550a9a-5e6c-4593-8bee-9db11f29b934', u'xxx dexterity'), ('29550a9a-5e6c-4593-8bee-9db11f29b934', u'yyy dexterity'),

将portal_catalog中的Archetypes和Dexterity内容中的唯一ID用作可查找内容ID键的最佳策略是什么?

1 个答案:

答案 0 :(得分:5)

它可能从Dexterity项目的容器中获取UID。

从Dexterity 1.1开始,只要存在plone.uuid,所有Dexterity项目都应该获得自己的UUID,这在Plone 4.1及以上版本中应该始终如此。确保运行升级步骤以将UUID添加到没有UUID的现有项目中。