logo

Extra Block Types (EBT) - Nuova esperienza con Layout Builder❗

Extra Block Types (EBT) - tipi di blocchi stilizzati e personalizzabili: Slideshows, Tabs, Cards, Accordion e molti altri. Impostazioni integrate per sfondo, DOM Box, plugin javascript. Vivi oggi il futuro della costruzione dei layout.

Demo moduli EBT Scarica moduli EBT

❗Extra Paragraph Types (EPT) - Nuova esperienza con Paragraphs

Extra Paragraph Types (EPT) - insieme di moduli basati su paragrafi in modo analogo.

Demo moduli EPT Scarica moduli EPT

Scorri
02/10/2025, by Ivan

Menu

Twig fornisce una serie di funzioni utili che possono essere utilizzate direttamente nei template.

Elenco delle funzioni Twig

Il core di Drupal aggiunge alcune funzioni personalizzate specifiche per Drupal. Sono definite nella classe TwigExtension.

Puoi anche definire le tue funzioni Twig in un modulo personalizzato (ma non in un tema). Per un esempio su come farlo, consulta questo file di esempio: core/modules/system/tests/modules/twig_extension_test/src/TwigExtension/TestExtension.php.

attach_library($library)

Allega una libreria di asset al template.

{{ attach_library('classy/node') }}

create_attribute($attributes)

Crea nuovi oggetti Attribute con la funzione create_attribute() all’interno del template Twig. Questi oggetti possono essere manipolati come qualsiasi altro oggetto Attribute disponibile in Twig.

Vedi la change record: https://www.drupal.org/node/2818293

{% set my_attribute = create_attribute() %}
{%
  set my_classes = [
    'kittens',
    'llamas',
    'puppies',
  ]
%}
<div{{ my_attribute.addClass(my_classes).addAttribute('id', 'myUniqueId') }}>
  {{ content }}
</div>
<div{{ create_attribute({'class': ['region', 'region--header']}) }}>
  {{ content }}
</div>

file_url($uri)

Questa funzione helper prende un URI di file e genera un percorso URL relativo al file.

{{ file_url(node.field_example_image.entity.uri.value) }}

link($text, $uri, $attributes)

Questa funzione helper accetta come primo parametro il testo e come secondo l’uri.

Esempi:

{{ link(item.title, item.uri, { 'class':['foo', 'bar', 'baz']} ) }}

path($name, $parameters, $options)

Crea un URL relativo in base al nome della route e ai parametri.

{# Link alla vista frontpage. #}
<a href="{{ path('view.frontpage.page_1') }}">{{ 'View all content'|t }}</a>

{# Link alla pagina profilo dell’utente. #}
<a href="{{ path('entity.user.canonical', {'user': user.id}) }}">{{ 'View user profile'|t }}</a>

{# Link alla pagina del nodo. #}
<a href="{{ path('entity.node.canonical', {'node': node.id}) }}">{{ 'View node page'|t }}</a>

Le funzioni url e path sono definite in prossimità di quelle contenute in \Symfony\Bridge\Twig\Extension\RoutingExtension.

url($name, $parameters, $options)

Crea un URL assoluto in base al nome della route e ai parametri:

<a href="{{ url('view.frontpage.page_1') }}">{{ 'View all content'|t }}</a>

Crea un URL assoluto per l’URL corrente:

<a href="{{ url('<current>') }}">{{ 'Reload'|t }}</a>

Crea un URL assoluto per la homepage:

<a href="{{ url('<front>') }}">{{ 'Home'|t }}</a>