如何删除树枝中字段上的空白?


9

我尝试在没有空格的节点--template.html.twig中打印字段值。该字段是在管理页面中选择的。

Location|Location 
Achat|Achat

这就是我的值是print:

{{content.field_type}}

在此处输入图片说明

field.html.twig:

{% for item in items %}
{{- item.content -}}
{%  endfor %}

我尝试像

{{content.field_type | trim}}

但是当我这样打印时,它是空的。

那么这个空白在哪里?如果尝试在其他条件下测试值,则相同:

由于空白,这不起作用:

{%如果content.field_type ==“ Achat”%}

这项工作:

{%如果content.field_type | render | trim ==“ Achat”%}

所以对于测试值来说还可以,但是如果我使用打印值

{{content.field_type | render | trim}}

我用空白得到相同的结果。

因此,如果有人可以告诉我在哪里添加此空格以及如何在树枝中删除此空格。我使用boostrap主题,但看不到任何添加空格的内容。



是的,结果相同
凯文(Kevin)

1
同样,您也不想对渲染数组进行检查,而是通过node.field_type.value == 'Achat'
Kevin

同意测试,但同意打印吗?为什么要空格?
凯文(Kevin)

@Kevin请发表您的评论:您能否解释一下为什么/当检查内容呈现数组上的实体对象时?例如profile.some_field与content.some_field?我的模板在注释中说:使用'content'可以全部打印,或打印'content.title'等子集。Tks :)
Kojo

Answers:


5

在我看来,您有一个模板,可能field.html.twig正在添加此空间。您可以启用twig调试以查看使用了哪些模板的文件。

此外,我认为最好测试其值,node.field.value而不是content.field仅针对渲染进行测试。

请注意,细枝运算符{% for ... %}还会添加空格,因此您也应该-在其中添加例如:

{%- for item in items %}
{{ item.content }}
{%  endfor -%}

模板使用的是field.html.twig,我只是在{%-中添加-,但是还是一样,这里总是空格...我同意测试使用node.field.value的值。
凯文

这个连字符在做什么?为什么不采用这种默认行为?
leymannx

1
啊! 空白控制修饰符。天哪,这丑陋。这确实应该是全局默认值。
leymannx

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.