Global navigation

   Documentation Center
   eZ Studio & eZ Platform
     User Manual
     Technical Manual
     Glossary
   eZ Publish 4.x / legacy

 
eZ Publish (5.x)

eZ Publish 5.x | For eZ Platform & eZ Studio topics see Technical manual and User manual, for eZ Publish 4.x and Legacy topics see eZ Publish legacy

Skip to end of metadata
Go to start of metadata

Defining your FieldType 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.

You will find examples with built-in FieldTypes in EzPublishCoreBundle/Resources/views/content_fields.html.twig

Template for a FieldType with "myfieldtype" identifier

By convention, your block must be named <fieldTypeIdentifier>_field.

Exposed variables

NameTypeDescription
fieldeZ\Publish\API\Repository\Values\Content\FieldThe field to display
contentInfoeZ\Publish\API\Repository\Values\Content\ContentInfoThe ContentInfo to which the field belongs to
versionInfoeZ\Publish\API\Repository\Values\Content\VersionInfoThe VersionInfo to which the field belongs to
fieldSettingsmixedSettings of the field (depends on the FieldType)
parametershashOptions passed to ez_render_field() under the parameters key
attrhashThe attributes to add the generate the HTML markup.
Contains at least a class entry, containing <fieldtypeidentifier>-field

Reusing blocks

To ease FieldType 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.

Warning

To be able to reuse built-in blocks, your template must inherit from EzPublishCoreBundle::content_fields.html.twig.

Registering your template

 

To make your template available, you must register it to the system.

ezpublish/config/ezpublish.yml

You can define these rules in a dedicated file instead of ezpublish/config/ezpublish.yml. Read the cookbook recipe to learn more about it.