¿Cómo funcionan clean_class y clean_id?

12

Soy nuevo en la sintaxis de Drupal 8 y Twig. No puedo entender cómo funciona el filtro clean_class "region | clean_class"? ¿Qué es clean_class aquí? He agregado el siguiente código en mi archivo page.html.twig

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

{{ dump(classes) }}

Su resultado de impresión:

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

Respuestas:

18

clean_classes un filtro que invoca el \Drupal\Component\Utility\Html::getClass()método en la cadena, que:

Prepara una cadena para usar como un nombre de clase válido.

Básicamente, elimina los caracteres no válidos de las clases HTML en preparación para la representación. clean_ides el equivalente para ID de HTML.

También hay otros filtros registrados por core, vea TwigExtension :: getFilters para más detalles.

Clive
fuente
Parece que en el ejemplo del OP, region | clean_class no devuelve nada porque las dos clases resultantes en {{dump (classes)}} son 'region' y 'region-' Actualmente estoy teniendo el mismo problema al intentar agregar un nombre de término de taxonomía para el ID usando los atributos.setAttribute ('id', 'Featured-industry-' ~ name | clean_id) Si elimino el | filtro clean_id, solo imprime 'Array'
amklose