Wie funktionieren clean_class und clean_id?


12

Ich bin neu in der Drupal 8- und Twig-Syntax. Ich kann nicht verstehen, wie der Filter clean_class "region | clean_class" funktioniert. Was ist clean_class hier? Ich habe folgenden Code in meine Datei page.html.twig eingefügt

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

{{ dump(classes) }}

Das Druckergebnis:

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

Antworten:


18

clean_classist ein Filter, der die \Drupal\Component\Utility\Html::getClass()Methode für die Zeichenfolge aufruft.

Bereitet eine Zeichenfolge zur Verwendung als gültiger Klassenname vor.

Grundsätzlich werden ungültige Zeichen aus HTML-Klassen entfernt, um das Rendern vorzubereiten. clean_idist das Äquivalent für HTML-IDs.

Es gibt auch andere Filter, die vom Kern registriert werden. Weitere Informationen finden Sie unter TwigExtension :: getFilters .


Im Beispiel des OP gibt region | clean_class anscheinend nichts zurück, da die beiden resultierenden Klassen in {{dump (classes)}} 'region' und 'region-' sind. Ich habe derzeit das gleiche Problem beim Hinzufügen Ein Taxonomiebegriffsname für die ID unter Verwendung von attribute.setAttribute ('id', 'Featured-Industry-' ~ name | clean_id) Wenn ich den Filter | clean_id entferne, wird nur 'Array'
gedruckt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.