使用 twig 变量渲染 twig HTML 字符串

Render twig HTML string with twig-variable

我有一些 html 按钮想用 twig 渲染。这是 HTML:

<a href="/Worklog/editWorklog?worklogid={{worklog.id}}&customerid={{worklog.customerid}}"><button class="btn btn-primary">Edit worklog</button></a>

我在 php 中创建了一个方法 return HTML 字符串,我在上面用 twig 像这样传入:

{{ html.editWorklogButton|raw }}

但是当使用 raw 呈现按钮时,它也会呈现 {{ worklog.id }} 和 {{ worklog.customerid }} raw 当然,丢失了 id , 给我 href:

localhost/Worklog/editWorklog?worklogid={{worklog.id}}&customerid={{worklog.customerid}}

应该是这样的:

localhost/Worklog/editWorklog?worklogid=1&customerid=2

我已经查看了 twig 文档,但找不到任何相关内容。这根本不可能吗?

您可以使用 template_from_string extension.

The template_from_string function loads a template from a string.

在你的情况下,它应该是这样的:

{{ include(template_from_string(html.editWorklogButton)) }}