The following lists all dependency injection tags and their usage available in Netgen Layouts:
Purpose: Adds a new block definition handler
When registering a new block definition handler, you need to use the identifier
attribute in the tag to specify the unique identifier of the block definition:
app.block.block_definition.handler.my_block:
class: AppBundle\Block\BlockDefinition\Handler\MyBlockHandler
tags:
- { name: netgen_layouts.block_definition_handler, identifier: my_block }
Purpose: Adds a new block handler plugin
When registering a new block definition handler plugin, you can use the priority
attribute in the tag to specify the order in which your handler plugin is executed in regard to other existing plugins:
app.block.block_definition.handler.plugin.my_plugin:
class: AppBundle\Block\BlockDefinition\Handler\MyPlugin
tags:
- { name: netgen_layouts.block_definition_handler.plugin, priority: 10 }
Purpose: Adds a new query type handler
When registering a new query type handler, you need to use the type
attribute in the tag to specify the unique identifier of the query type:
app.collection.query_type.handler.my_handler:
class: AppBundle\Collection\QueryType\Handler\MyHandler
tags:
- { name: netgen_layouts.query_type_handler, type: my_handler }
Purpose: Adds a new parameter type
app.parameters.parameter_type.my_type:
class: AppBundle\Parameters\ParameterType\MyType
tags:
- { name: netgen_layouts.parameter_type }
Purpose: Adds a new parameter type form mapper
When registering a new parameter type form mapper, you need to use the type
attribute in the tag to specify to which parameter type this mapper applies:
app.parameters.form.mapper.my_type:
class: AppBundle\Parameters\Form\Mapper\MyTypeMapper
tags:
- { name: netgen_layouts.parameter_type.form_mapper, type: my_type }
Purpose: Adds a new target type
When registering a new target type, you can use the priority
attribute in the tag to specify the order in which your target type is considered when resolving the layout in regard to other existing target types:
app.layout.resolver.target_type.my_target:
class: AppBundle\Layout\Resolver\TargetType\MyTarget
tags:
- { name: netgen_layouts.target_type, priority: 10 }
Purpose: Adds a new target type form mapper
When registering a new target type form mapper, you need to use the target_type
attribute in the tag to specify to which target type this mapper applies:
app.layout.resolver.form.target_type.mapper.my_target:
class: AppBundle\Layout\Resolver\Form\TargetType\Mapper\MyTarget
tags:
- { name: netgen_layouts.target_type.form_mapper, target_type: my_target }
Purpose: Adds a new target type Doctrine handler
When registering a new target type Doctrine handler, you need to use the target_type
attribute in the tag to specify to which target type this handler applies:
app.layout_resolver.target_handler.doctrine.my_target:
class: AppBundle\LayoutResolver\TargetHandler\Doctrine\MyTarget
tags:
- { name: netgen_layouts.target_type.doctrine_handler, target_type: my_target }
Purpose: Adds a new condition type
app.layout.resolver.condition_type.my_condition:
class: AppBundle\Layout\Resolver\ConditionType\MyCondition
tags:
- { name: netgen_layouts.condition_type }
Purpose: Adds a new condition type form mapper
When registering a new condition type form mapper, you need to use the condition_type
attribute in the tag to specify to which condition type this mapper applies:
app.layout.resolver.form.condition_type.mapper.my_condition:
class: AppBundle\Layout\Resolver\Form\ConditionType\Mapper\MyCondition
tags:
- { name: netgen_layouts.condition_type.form_mapper, condition_type: my_condition }
Purpose: Adds a new view template matcher
When registering a new view template matcher, you need to use the identifier
attribute in the tag to specify the unique identifier of the matcher:
app.view.matcher.block.my_matcher:
class: AppBundle\View\Matcher\Block\MyMatcher
tags:
- { name: netgen_layouts.view_matcher, identifier: block\my_matcher }
Purpose: Adds data to the context which is used to render contextual blocks via AJAX.
app.context.my_context_provider:
class: AppBundle\Context\MyContextProvider
tags:
- { name: netgen_layouts.context_provider }