Defining your Field Type template
In order to be used by ez_render_field()
Twig helper, you need to define a template containing a block dedicated to the Field display.
This block consists on a piece of template receiving specific variables you can use to make the display vary.
{% block myfieldtype_field %}
{# Your code here #}
{% endblock %}
|
Exposed variables
Name | Type | Description |
---|
field | eZ\Publish\API\Repository\Values\Content\Field | The field to display |
contentInfo | eZ\Publish\API\Repository\Values\Content\ContentInfo | The ContentInfo to which the field belongs to |
versionInfo | eZ\Publish\API\Repository\Values\Content\VersionInfo | The VersionInfo to which the field belongs to |
fieldSettings | mixed | Settings of the field (depends on the FieldType) |
parameters | hash | Options passed to ez_render_field() under the parameters key |
attr | hash | The attributes to add the generate the HTML markup. Contains at least a class entry, containing <fieldtypeidentifier>-field |
Reusing blocks
To ease Field Type template development, you can take advantage of all defined blocks by using the block() function.
You can for example take advantage of simple_block_field
, simple_inline_field
or field_attributes
blocks provided in content_fields.html.twig.
Registering your template
To make your template available, you must register it to the system.
ezpublish:
system:
my_siteaccess:
field_templates:
-
template: "AcmeTestBundle:fields:my_field_template.html.twig"
# Priority is optional ( default is 0). The higher it is, the higher your template gets in the list.
priority: 10
|