Description
ez_render_field()
is a Twig helper allowing you to display a Content item's Field value, taking advantage of the template block exposed by the Field Type used.
Prototype and Arguments
ez_render_field( eZ\Publish\API\Repository\Values\Content\Content content, string fieldDefinitionIdentifier[, hash params] )
Argument name | Type | Description |
---|
content | eZ\Publish\API\Repository\Values\Content\Content | Content object the displayable field belongs to. |
fieldDefinitionIdentifier | string | The identifier the Field is referenced by. |
params | hash | Hash of parameters that will be passed to the template block. By default you can pass 2 entries: lang (to override the current language, must be a valid locale with xxx-YY format)template (to override the template to use, see below)attr (hash of HTML attributes you want to add to the inner markup)parameters (arbitrary parameters to pass to the template block)
|
Override a field template block
In some cases, you may not want to use the built-in field template block as it might not fit your markup needs. In this case, you can choose to override the template block to use by specifying your own template. You can do this inline when calling ez_render_field()
, or globally by prepending a field template to use by the helper.
Inline override
You can easily use the template you need by filling the template
entry in the params
argument.
The code above will load my_field_template.html.twig
located in AcmeTestBundle/Resources/views/fields/
.
Inline override using current template
If you want to override a specific field template only once (i.e. because your override would be only valid in your current template), you can specify the current template to be the source of the field block.
Global override
In the case where you want to systematically reuse a field template instead of the default one, you can append it to the field templates list to use by ez_render_field()
.
To make your template available, you must register it to the system.