Domyślne zmienne ATRYBUTÓW dostępne we wszystkich szablonach
• attributes • title_attributes • content_attributes
Atrybut klasa HTML w szablonach
Dodanie klasy z użyciem atrybutu class=" " i zmiennej name
<div class="region region-{{ name }}">
Dodanie jednej klasy poleceniem addClass() zamiast użycia atrybutu class=" "
<div {{ attributes.addClass('klasa') }}> </div>
Dodanie wielu klas
// Dodanie kilku klas // Także dynamicznych - możliwe tworzenie warunków z użyciem zmiennych. // wytłumaczenie w "Zagadnienia związane z kodowaniem szablonów - inne polecenia" {% set classes = [ 'content', 'node', 'custom', ] %} <div {{ attributes.addClass(classes) }}> </div>
lub
<div {{ attributes.addClass('klasa druga-klasa trzecia-klasa') }}> </div>
Usunięcie klasy poleceniem removeClass('klasa-do-usunieca'), dodawanej przez system Drupal
<div {{ attributes.addClass(classes).removeClass('klasa-do-usunieca') }}>
Zastąpienie klasy dodawanej przez system Drupal poprzez użycie obu poleceń jednocześnie
<div {{ attributes.addClass('klasa-do-dodania').removeClass('klasa-do-usuniecia') }}>
Zagadnienia związane z kodowaniem szablonów - inne polecenia
Łączenie dwóch ciągów
{% set klasy = [ 'klasa', 'klasa-' ~ zmienna | clean_class, ] %} ~ - operator łączący ze sobą dwa ciągi zmienna - może reprezentować np. blok albo region. | - pionowa kreska jako separator oddzielający zmienną od polecenia clean_class - filtr, który usunie niewłaściwe znaki z klas HTML Przykład: {% set classes = [ 'region', 'region-' ~ region|clean_class, ] %} Wynik: <div class="region region-header">
Operator trójskładnikowy
{{ foo ? 'yes' : 'no' }}
// kolejny przykład dynamicznego tworzenia klas {% set classes = [ 'field-label-' ~ label_display, label_display == 'inline' ? 'clearfix', ] %}
Jak dodać klasę poza plikami szablonów?
W pliku nazwa_motywu.theme
Źródła
Kategoria
Projekt