Я хотел бы отобразить вид объекта вместо другого объекта, но при этом сохранить канонический путь как тот, который был изначально пройден, чтобы хлебные крошки, вкладки объектов и т. Д. Все действовали одинаково.
Я знаюкак визуализировать другой объект вместо канонического, но кажется почти невозможным переопределить то, что используется для канонического объекта, если я, возможно, не переопределю метод «canonical_object» в представлении браузера «plone_context_state».
Вот код, который у меня есть: вызов метода для рендеринга другого объекта:
item = aq_base(default_item).__of__(self.context)
layout = item.getLayout() or item.getDefaultLayout()
try:
return aq_acquire(item, layout)(*args, **kwargs)
except AttributeError:
try:
return getMultiAdapter((item, self.request), name=layout)(*args, **kwargs)
except: pass
return super(DefaultItemEnabledView, self).__call__(*args, **kwargs)
Теперь можно ли сделать канонический объект, используемый для подведения, первоначально пройденным, так что крошки, вкладки объектов и т. д. применяются соответствующим образом?