我有一个使用灵巧和plone.app.stagingbehavior安装的自定义类型。我可以签入并签出我的自定义类型,但尝试查看差异会导致堆栈跟踪,因为plone.app.iterate.browser.diff.DiffView似乎不知道如何获取基线和工作副本版本使用灵巧/粘贴行为制作的对象。
我确实尝试覆盖 DiffView 并将其更改为使用来自plone.app.stagingbehavior.utils的 get_baseline 和 get_working_copy ,但差异视图仍然不起作用(有一个不同的例外,Products.Archetypes 中的一万级深,所以我假设它不太可能工作)。在这一点上,也许collective.dexteritydiff 会有所帮助。
这有点令人困惑,因为 Pastagingbehavior 在其plone.app.iterate.checkout_info portlet 版本中包含指向 @@iterate_diff 的链接,这让我认为它可以正常工作,也许我的设置已损坏或我做错了什么。