Navigation
eZ Documentation Center
 

This is outdated documentation made for eZ Publish Platform 5.2. It is being moved into the eZ Publish 5.x documentation, so please go there for most up-to-date documentation.

Skip to end of metadata
Go to start of metadata

View\Manager & View\Provider

The role of the (eZ\Publish\Core\MVC\Symfony\)View\Manager is to select the right template for displaying a given content or location. It aggregates objects called content and location view providers which respectively implement eZ\Publish\Core\MVC\Symfony\View\Provider\Content and eZ\Publish\Core\MVC\Symfony\View\Provider\Location interfaces.

Each time a content is to be displayed through the Content\ViewController, the View\Manager iterates over the registered content or location View\Provider objects and calls getView().

Provided View\Provider implementations

NameUsage
View provider configuration

Based on application configuration.
Formerly known as Template override system.

eZ\Publish\Core\MVC\Legacy\View\Provider\Content

eZ\Publish\Core\MVC\Legacy\View\Provider\Location

Forwards view selection to the legacy kernel by running the old content/view module.
Pagelayout used is the one configured in ezpublish_legacy.<scope>.view_default_layout.
For more details about the <scope> please refer to the scope configuration documentation.

Custom View\Provider

Difference between View\Provider\Location and View\Provider\Content

  • View\Provider\Location only deals with Location objects and implements eZ\Publish\Core\MVC\Symfony\View\Provider\Location interface.
  • View\Provider\Content only deals with ContentInfo objects and implements eZ\Publish\Core\MVC\Symfony\View\Provider\Content interface.

When to develop a custom View\Provider\(Location|Content)

  • You want a custom template selection based on a very specific state of your application
  • You depend on external resources for view selection
  • You want to override the default one (based on configuration) for some reason

View\Provider objects need to be properly registered in the service container with the ezpublish.location_view_provider or ezpublish.content_view_provider service tag.

Tag attribute nameUsage
priority

An integer giving the priority to the View\Provider\(Content|Location) in the View\Manager.

The priority range is from -255 to 255

Example

Custom View\Provider\Location

 

  • No labels