New in Symfony 5.3: Twig Serialize Filter
May 17, 2021 • Published by Javier Eguiluz
Symfony 5.3 is backed by:
Warning: This post is about an unsupported Symfony version. Some of this information may be out of date. Read the most recent Symfony Docs.
In Symfony applications there are several methods of passing data from the backend to the frontend. Some applications make Ajax requests whenever they need data and others prefer to pass it in Twig templates as HTML attributes or JavaScript variable values.
In Symfony 5.3 we've added a simpler way of doing this: the new serialize Twig filter. This filter accepts any data that can be serialized by the Serializer component and returns a serialized string in the specified format.
In the following example, the Twig template uses the stimulus_controller()
function from the Symfony Stimulus Bridge. If the template is passed a
variable called product
, you can now serialize its contents to use it in the
Stimulus function call:
1 2 3
{{ stimulus_controller('product-show', {
product: product|serialize('json', { groups: 'product:read'})
}) }}
This would render something like this:
1 2 3
<div data-controller="product-show"
data-product-show-product-value="{"id":5,...}">
<div>
Help the Symfony project!
As with any Open-Source project, contributing code or documentation is the most common way to help, but we also have a wide range of sponsoring opportunities.
Comments are closed.
To ensure that comments stay relevant, they are closed for old posts.
(why it removes tags instead of escaping them?)