clean_class와 clean_id는 어떻게 작동합니까?


13

Drupal 8과 Twig 구문이 처음입니다. 어떻게 작동 필터 clean_class "region | clean_class"를 이해할 수 없습니까? 여기에 clean_class는 무엇입니까? 내 page.html.twig 파일에 다음 코드를 추가했습니다

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

{{ dump(classes) }}

인쇄 결과 :

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

답변:


19

clean_class\Drupal\Component\Utility\Html::getClass()문자열 에서 메소드 를 호출하는 필터 입니다.

유효한 클래스 이름으로 사용할 문자열을 준비합니다.

기본적으로 렌더링 준비시 HTML 클래스에서 유효하지 않은 문자를 제거합니다. clean_idHTML ID와 동일합니다.

코어별로 등록 된 다른 필터도 있습니다. 자세한 내용 은 TwigExtension :: getFilters 를 참조하십시오.


OP의 예처럼 보입니다. {{dump (classes)}}의 두 결과 클래스는 'region'과 'region-'이므로 현재 추가하려는 동일한 문제가 있으므로 region | clean_class가 아무것도 반환하지 않습니다. attributes.setAttribute 이용하여 아이디에 대한 분류 용어 이름 ( 'ID는', '기능 - 업계'~ 이름 | clean_id) 나는 제거하는 경우 | clean_id 필터, 그냥 인쇄 '배열'
amklose
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.