Может ли представление определить метод __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__ от него.

Другие вопросы по тегам