Extbase controllers¶
New in version 0.7.0: Feature: #18 - Provide view adapter for extbase controllers
In order to increase compatibility with standard extbase plugins,
the extension supports the rendering of extbase controller actions.
For this purpose, a compatibility layer was introduced, with which
own DataProcessors can be triggered using the HandlebarsViewResolver.
Configuration¶
Tag each DataProcessor with handlebars.compatibility_layer within
your Services.yaml file and provide additional information
about the target extbase controller and actions supported by it.
# Configuration/Services.yaml
services:
Vendor\Extension\DataProcessing\MyProcessor:
tags:
- name: handlebars.processor
- name: handlebars.compatibility_layer
type: 'extbase_controller'
controller: 'Vendor\Extension\Controller\MyController'
actions: 'dummy'
The action configuration can be either empty (= NULL) or set
to a comma-separated list of action names that are supported by the
configured DataProcessor. If you leave it empty, the DataProcessor
is used for all controller actions.
Important
Only DataProcessors that are additionally tagged with
handlebars.processor are respected as component for additional
compatibility layers.
Usage¶
Once the HandlebarsViewResolver is triggered to render
a specific "view", it creates an array of information and passes
it to the configured DataProcessor. You can then take further
steps based on the provided configuration.
When accessing the $configuration property inside your
DataProcessor, you should see the following properties:
$configuration = [
'extbaseViewConfiguration' => [
'controller' => '<controller class>',
'action' => '<controller action>',
'request' => '<original extbase request>',
'variables' => '<template variables>',
],
];
Sources¶
See also
View the sources on GitHub: