如何使用 Twig 打印格式化的 html?



我传递到包含html代码的twig模板变量中。当我打印它时,我得到这样的内容:

<div class="links"> <span class="logo"></span> <a href="/">homepage</a> <a href="/page_1">page 1</a> <a href="/page_2">page 2</a> <a href="/page_3">page 3</a> </div> 

如何使代码看起来更具可读性?喜欢这个:

<div class="links">
<span class="logo"></span>
<a href="/">homepage</a>
<a href="/page_1">page 1</a>
<a href="/page_2">page 2</a>
<a href="/page_3">page 3</a>
</div>

如果你想按原样显示代码片段的html,我建议你只用<pre>它来包装它。

<pre>{{ html }}</pre>

演示

如果您只想保留换行符和制表符,则可以使用div 包装 var 并将空格设置为pre

<style>
div.pre {
white-space: pre;
}
</style>
<div class="pre">{{ html }}</div>

源 HTML 的显示与您传入的完全一样。我能想到的解决此特定问题的一种方法是使用 https://stackoverflow.com/a/34556900/4646470 等解决方案来格式化 HTML 并创建一个 Twig 过滤器/函数 1 以在 Twig 模板中处理它。

我正在为您的问题提供示例示例解决方案。我希望它对你有所帮助。

{{ title }} {{ entity_print_css }} {{ content }}

示例节点--文章--pdf.html.twig

{{ content.field_name }} {{ content.body }} {{ label }} {{ content.field_name.0.value }}

最新更新