Clean_class ve clean_id nasıl çalışır?


13

Drupal 8 ve Twig sözdiziminde yeniyim. Ben onun çalışma filtresi clean_class "bölge | clean_class" nasıl anlayamıyorum? Burada clean_class nedir? Page.html.twig dosyama aşağıdaki kodu ekledim

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

{{ dump(classes) }}

Baskı sonucu:

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

Yanıtlar:


19

clean_class, \Drupal\Component\Utility\Html::getClass()dizede yöntemi çağıran bir filtredir :

Bir dizeyi geçerli bir sınıf adı olarak kullanmak için hazırlar.

Temel olarak, işleme hazırlanırken geçersiz karakterleri HTML sınıflarından kaldırır. clean_idHTML kimlikleriyle eşdeğerdir.

Çekirdek tarafından kaydedilen başka filtreler de vardır, daha fazla ayrıntı için bkz. TwigExtension :: getFilters .


OP örneğinde olduğu gibi, bölge | clean_class hiçbir şey döndürmüyor çünkü {{dump (classes)}} 'da sonuçta ortaya çıkan iki sınıf' bölge 've' bölge- 'Şu anda eklemeye çalışıyorum attributes.setAttribute kullanarak id bir sınıflandırma terimi adı ( 'id', 'özellikli-sanayi-' ~ adı | clean_id) Ben kaldırırsanız | clean_id filtreyi, sadece Baskı 'Dizi'
amklose
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.