I have a twig variable html. To show it in a twig template I do {{html}}.
That variable looks like:
<div>{{region_top}}</div><div>{{region_center}}</div>
region_* is a variable too. When Twig parses my html variable, it doesn’t parse the inner variables (regions).
What I should do?
Twig takes your strings as a literal string, meaning you’ll see the content of the variable, escaped. If you want it to be able to display {{region_top}} as well, I’d recommend something like this:
If the content of your html variable is also dynamic (meaning it can contain more than just those two variables), I’d write a twig plugin which can do what you want. Writing plugins is pretty easy to do.
EDIT: Here’s the extension I just finished writing.
EDIT 2: The extension now uses the environment to render the string, so it evaluates the string, instead of just replacing variables. This means your variable can contain anything a template can, and it will be render and escaped by Twig itself. I’m awesome.
Example usage:
In the template: