The 'display' menu¶
Description
The 'display' menu is the drop-down that lets content authors select which view template to use, or which object to set as a default-page in a folder.
The
display
menu is found in
global\_contentmenu.pt
and supports three different functions: - Set the display
template (aka “layout”) of the current content object,
provided that object supports this. - Set the default-page
of a folder, provided the folder supports this - If viewing
a folder with a default-page, allow selecting the standard
view template/layout for that folder, thus unsetting the
default-page. There are two interfaces in
CMFDynamicViewFTI.interfaces
that are used to support this functionality: IBrowserDefault
– Provides information about the layout current selection of
a given content object, including any selected deafult-page
ISelectableBrowserDefault – Extends IBrowserDeafult with
methods to manipulate the current selection The canonical
implementation of both these interfaces is in
CMFDynamicViewFTI.browserdefault.BrowserDefaultMixin
. This in turn gets the vocabulary of available view
methods from the FTI (and hence this can be edited
through-the-web in
portal\_types
), and stores the current selection in two properties on
each content object:
layout
, for the currently selected view template, and
default\_page
if any default page is selected. If both are set, the
default-page will take precedence.
BrowserDefaultMixin
actually provides a
\_\_call\_\_
method which means that will render the object with its
default layout template. However,
PloneTool.browserDefault()
will actually query the interface directly to find out which
template to display - please see the next page for the gory
details.