我正在努力让ARFilePreview与更新版本的Plone一起使用。该产品定义了一个具有自己的__bobo_traverse__
方法的视图。不幸的是,ZPublisher不会调用此方法。
traverseName()
中的BaseRequest.py
方法有:
if IPublishTraverse.providedBy(ob):
ob2 = ob.publishTraverse(self, name)
else:
adapter = queryMultiAdapter((ob, self), IPublishTraverse)
if adapter is None:
## Zope2 doesn't set up its own adapters in a lot of cases
## so we will just use a default adapter.
adapter = DefaultPublishTraverse(ob, self)
ob2 = adapter.publishTraverse(self, name)
我希望它采用else的情况,但它会导致404,因为if返回True。
有一个简单的解决办法吗?
答案 0 :(得分:2)
定义一个名为publishTraverse的方法(与__bobo_traverse__
相同的args)并从中调用现有的__bobo_traverse__
。