我已经在dexterity中定义了一个内容类型,其中包含了许多RichText字段,而且这个工作正常。然后我将collective.flowplayer添加到我的安装中。这似乎添加了一个适配器,以便它可以检测内容是否嵌入了音频或视频播放器div标签,这一切都有意义。但现在我无法编辑或创建我的一种灵巧类型的实例。适配器抛出一个异常,抱怨该类型无法适应IPrimaryFieldInfo,并且无法保存灵巧内容类型。
从另一个SO问题中找出线索,我从plone.directives.form.Schema和plone.rfc822.interfaces.IPrimaryFieldInfo中导出了灵巧内容类型。这次在collective.flowplayer.dexterity的update_media_info函数中有一个不同的例外,我可以通过改变来解决这个问题:
if info.value is not None:
到
if hasattr(info, 'value') and info.value is not None:
这对我来说太开心了。
这是一个已知的问题,还是只是一些版本化的噩梦?