Làm thế nào để loại bỏ khoảng trắng trên trường trong twig?


9

Tôi cố gắng in giá trị trường trong một nút - template.html.twig không có khoảng trắng. Trường này là một lựa chọn trong trang quản trị.

Location|Location 
Achat|Achat

Đây là cách giá trị của tôi được in:

{{nội dung.field_type}}

nhập mô tả hình ảnh ở đây

trường.html.twig:

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

Tôi thử một số đối số twig như

{{content.field_type | trim}}

Nhưng khi tôi in như thế này, nó trống rỗng.

Vậy đâu là khoảng trắng này? tương tự nếu tôi cố gắng kiểm tra giá trị trong điều kiện khác:

Điều này không hoạt động vì khoảng trắng:

{% nếu nội dung.field_type == "Achat"%}

Công việc này :

{% nếu content.field_type | render | trim == "Achat"%}

Vì vậy, để kiểm tra một giá trị thì không sao, nhưng để in giá trị nếu tôi sử dụng

{{content.field_type | kết xuất | cắt}}

tôi đã có kết quả tương tự với khoảng trắng.

Vì vậy, nếu ai đó có thể cho tôi biết nơi nào thêm khoảng trắng này và cách loại bỏ điều này trong twig. Tôi sử dụng chủ đề boostrap, nhưng tôi không thấy bất cứ ai thêm khoảng trắng.


Bạn đã thử sử dụng spaceless? twig.sensiolabs.org/doc/2.x/tags/spacless.html
Kevin

vâng, kết quả tương tự
Kevin

1
Ngoài ra, bạn không muốn thực hiện kiểm tra trên mảng kết xuất, hãy thực hiện trên chính trường thông quanode.field_type.value == 'Achat'
Kevin

Đồng ý cho thử nghiệm, nhưng cho bản in? Tại sao khoảng trắng?
Kevin

@Kevin về nhận xét của bạn xin vui lòng: bạn có thể phát triển một chút tại sao / khi kiểm tra đối tượng thực thể trên mảng kết xuất nội dung không? ví dụ: profile.some_field vs content.some_field? mẫu của tôi nói trong các bình luận: Sử dụng 'nội dung' để in tất cả hoặc in một tập hợp con, chẳng hạn như 'content.title'. Tks :)
Kojo

Câu trả lời:


5

Tôi nghe có vẻ như bạn có một mẫu, có lẽ field.html.twigđó là thêm không gian này. Bạn có thể bật twiggỡ lỗi để xem tệp nào được sử dụng.

Ngoài ra, tôi nghĩ tốt hơn là nên kiểm tra giá trị node.field.valuethay vì content.fieldchỉ thực hiện cho kết xuất.

Lưu ý rằng các toán tử twig {% for ... %}cũng thêm không gian, vì vậy bạn cũng nên thêm -vào đó, ví dụ:

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

Việc sử dụng mẫu là field.html.twig, tôi chỉ cần thêm - trong {% - cho, nhưng nó giống nhau, khoảng trắng luôn ở đây ... tôi đồng ý kiểm tra giá trị để sử dụng node.field.value.
Kevin

Dấu gạch nối này đang làm gì? Và tại sao đây không phải là hành vi mặc định?
leymannx

1
Ah! Công cụ điều chỉnh khoảng trắng . Trời ạ thật là xấu xí. Đây thực sự nên là một mặc định toàn cầu.
leymannx

4

Tôi đã thử nhiều lần và thẻ không gian hoạt động khá tốt.

Sử dụng cú pháp sau:

{% spaceless %}

  {{content.field_type}}

{% endspaceless %}

3
tôi vẫn còn khoảng trắng
Kevin

Tôi cũng vậy, hoàn toàn thất vọng.
Randell

Thật thú vị, điều này làm việc cho tôi cho một dự án riêng biệt.
Randell

Có lẽ bạn đã không xóa bộ nhớ cache drupal?
Robbiegod
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.