clean_classとclean_idはどのように機能しますか?


12

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)

回答:


18

clean_class\Drupal\Component\Utility\Html::getClass()文字列に対してメソッドを呼び出すフィルターです。

有効なクラス名として使用する文字列を準備します。

基本的に、レンダリングの準備として、HTMLクラスから無効な文字を削除します。clean_idHTML IDと同等です。

コアによって登録されている他のフィルターもあります。詳細については、TwigExtension :: getFiltersを参照してください。


OPの例のように見えます。{{dump(classes)}}の結果の2つのクラスは 'region'と 'region-'であるため、region | clean_classは何も返しません。現在、追加しようとして同じ問題が発生していますattributes.setAttribute( 'id'、 'featured-industry-'〜name | clean_id)を使用して、分類用語の名前をidに付けます。| clean_idフィルターを削除すると、 'Array'
amklose
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.