Làm thế nào để Clean_group và clean_id hoạt động?


12

Tôi chưa quen với cú pháp Drupal 8 và Twig. Tôi không thể hiểu làm thế nào bộ lọc làm việc của nó Clean_group "area | clean_group"? Clean_group ở đây là gì? Tôi đã thêm mã sau vào tệp page.html.twig của mình

{%
  set classes = [
         'region',
         'region-' ~ region|clean_class,
       ]
%}

{{ dump(classes) }}

Kết quả in của nó:

array (size=2)
  0 => string 'region' (length=6)
  1 => string 'region-' (length=7)

Câu trả lời:


18

clean_classlà một bộ lọc gọi \Drupal\Component\Utility\Html::getClass()phương thức trên chuỗi, trong đó:

Chuẩn bị một chuỗi để sử dụng làm tên lớp hợp lệ.

Về cơ bản, nó loại bỏ các ký tự không hợp lệ khỏi các lớp HTML để chuẩn bị kết xuất. clean_idlà tương đương với ID HTML.

Ngoài ra còn có các bộ lọc khác được đăng ký theo lõi, xem TwigExtension :: getFilters để biết thêm chi tiết.


Có vẻ như trong ví dụ của OP, khu vực | clean_group không trả về bất cứ điều gì vì hai lớp kết quả trong {{dump (lớp)}} là 'vùng' và 'vùng-' Tôi hiện đang gặp vấn đề tương tự khi cố gắng thêm một tên hạn phân loại để id sử dụng attributes.setAttribute ( 'id', 'đặc trưng-từng ngành' ~ name | clean_id) Nếu tôi tháo | clean_id lọc, nó chỉ in 'mảng'
amklose
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.