Может ли представление определить метод __bobo_traverse__?
Я пытаюсь заставить 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)
Я хотел бы, чтобы он взял другой случай, но в результате получился 404, потому что if возвращает True.
Есть ли легкое исправление?
1 ответ
Решение
Определите метод с именем publishTraverse(те же аргументы, что и __bobo_traverse__
) и вызвать существующий __bobo_traverse__
от него.