.. index:: single: Estensioni Twig di Symfony
Twig è il motore di template predefinito di Symfony. Contiene già di suo diverse funzioni di libreria, filtri e tag e test (si può approfondire nella guida a Twig).
Symfony aggiunge ulteriori estensioni personalizzate a Twig, per integrare alcuni componenti nei template di Twig. Di seguito sono presenti le informazioni su tutte le :ref:`funzioni <reference-twig-functions>`, i :ref:`filtri <reference-twig-filters>`, i :ref:`tag <reference-twig-tags>` e :ref:`test <reference-twig-tests>` aggiunti nel framework Symfony.
Ci sono anche alcuni tag nei bundle, non elencati qui.
{{ render(uri, opzioni) }}
uri
- tipo:
stringa
|ControllerReference
opzioni
- tipo:
array
predefinito:[]
Renderà il frammento per il controllore o l'URL dato. Per maggiori informazioni, vedere :ref:`templating-embedding-controller`.
Si può specificare la strategia di resa nella chiave strategy
delle opzioni.
{{ render_esi(uri, opzioni) }}
uri
- tipo:
stringa
|ControllerReference
opzioni
- tipo:
array
predefinito:[]
Genera un tag ESI, se possibile, altrimenti si comporta come la funzione render. Per maggiori informazioni, vedere :ref:`templating-embedding-controller`.
Tip
La funzione render_esi()
è un esempio di funzioni scorciatoia
di render
. Imposta automaticamente la strategia in base al
nome della funzione, p.e. render_hinclude()
userà la strategia hinclude.js.
Questo vale per tutte le funzioni render_*()
.
{{ controller(controllore, attributi, query) }}
controllore
- tipo:
stringa
attributi
- tipo:
array
predefinito:[]
query
- tipo:
array
predefinito:[]
Restituisce un'istanza di ControllerReference
, da usare con funzioni come
:ref:`render() <reference-twig-function-render>` e
:ref:`render_esi() <reference-twig-function-render-esi>`.
{{ asset(percorso, nomePacchetto, assoluto = false, versione = null) }}
percorso
- tipo:
stringa
nomePacchetto
- tipo:
stringa``|``null
predefinito:null
assoluto
- tipo:
booleano
predefinito:false
versione
- tipo:
stringa
predefinitonull
Restituisce un percorso pubblico a percorso
, che prende in considerazione il percorso base
impostato per il pacchetto e il percorso dell'URL. Maggiori informazioni su
:ref:`book-templating-assets`. Per il versionamento, vedere :ref:`ref-framework-assets-version`.
{{ asset_version(nomePacchetto) }}
nomePacchetto
- tipo:
stringa``|``null
predefinito:null
Restituisce la versione attuale del pacchetto, maggiori informazioni su :ref:`book-templating-assets`.
{{ form(vista, variabili) }}
view
- tipo:
FormView
variables
- tipo:
array
predefinito:[]
Rende l'HTML di un form completo, maggiori informazioni sulla :ref:`guida a Twig Form <reference-forms-twig-form>`.
{{ form_start(view, variables) }}
view
- tipo:
FormView
variables
- tipo:
array
predefinito:[]
Rende il tag HTML di apertura di un form, maggiori informazioni sulla :ref:`guida a Twig Form <reference-forms-twig-start>`.
{{ form_end(view, variables) }}
view
- tipo:
FormView
variables
- tipo:
array
predefinito:[]
Rende il tag HTML di chiusura del form, insieme a tutti i campi che non sono ancora stati resi, maggiori informazioni sulla :ref:`guida a Twig Form <reference-forms-twig-end>`.
{{ form_enctype(view) }}
view
- tipo:
FormView
Rende l'attributo enctype="multipart/form-data"
, necessario se il form
contiene almeno un campo di caricamento file, maggiori informazioni sulla
:ref:`guida a Twig Form <reference-forms-twig-enctype>`.
{{ form_widget(view, variables) }}
view
- tipo:
FormView
variables
- tipo:
array
predefinito:[]
Rende un form completo o uno specifico widget HTML di un campo, maggiori informazioni sulla :ref:`guida a Twig Form <reference-forms-twig-widget>`.
{{ form_errors(view) }}
view
- tipo:
FormView
Rende gli errori di un dato campo o gli errori globali, maggiori informazioni sulla :ref:`guida a Twig Form <reference-forms-twig-errors>`.
{{ form_label(view, label, variabili) }}
view
- tipo:
FormView
label
- tipo:
stringa
predefinito:null
variabili
- tipo:
array
predefinito:[]
Rende the label for the given field, mre information in :ref:`guida a Twig Form <reference-forms-twig-label>`.
{{ form_row(view, variabili) }}
view
- tipo:
FormView
variabili
- tipo:
array
predefinito:[]
Rende la riga (label, errori e widget) del campo dato, maggiori informazioni sulla :ref:`guida a Twig Form <reference-forms-twig-row>`.
{{ form_rest(view, variabili) }}
view
- tipo:
FormView
variabili
- tipo:
array
predefinito:[]
Rende tutti campi non ancora resi, maggiori informazioni sulla :ref:`guida a Twig Form <reference-forms-twig-rest>`.
{{ csrf_token(intenzione) }}
intenzione
- tipo:
stringa
Rende un token CSRF. Usare questa funzione se si vuole protezione CSRF senza creare un form.
{{ is_granted(ruolo, oggetto, campo) }}
ruolo
- tipo:
stringa
oggetto
- tipo:
object
campo
- tipo:
stringa
Restituisce true
se l'utente corrente ha il ruolo richiesto. Si può anche passare un
oggetto, che verrà usato dal votante. Maggiori informazioni su
:ref:`book-security-template`.
Note
Si può anche passare il campo per usare un ACE per uno specifico campo. Approfondire su :ref:`cookbook-security-acl-field_scope`.
{{ logout_path(chiave) }}
chiave
- tipo:
stringa
Genera un URL relativo di logout per il firewall dato.
{{ logout_url(chiave) }}
chiave
- tipo:
stringa
Uguale alla funzione logout_path, ma genera un URL assoluto invece che relativo.
{{ path(nome, parametri, relativo) }}
nome
- tipo:
stringa
parametri
- tipo:
array
predefinito:[]
relativo
- tipo:
booleano
predefinito:false
Restituisce l'URL relativo (senza schema e host) per la rotta data. Se
relative
è abilitato, crea un percorso relativo al percorso attuale. Maggiori
informazioni su :ref:`book-templating-pages`.
{{ url(nome, parametri, schemaRelativo) }}
nome
- tipo:
stringa
parametri
- tipo:
array
predefinito:[]
schemaRelativo
- tipo:
booleano
predefinito:false
Restituisce l'URL assoluto (con schema e host) per la rotta data. Se
schemaRelativo
è abilitato, crea un URL relativo allo schema. Maggiori
informazioni su :ref:`book-templating-pages`.
Crea una :class:`Symfony\\Component\\ExpressionLanguage\\Expression` in Twig. Vedere ":ref:`Template Expressions <book-security-template-expression>`".
{{ testo|humanize }}
testo
- tipo:
stringa
Rende leggibile a un umano un nome tecnico (cioè sostituisce i trattini bassi con spazi e mette in maiuscolo le stringhe).
{{ messaggio|trans(parametri, dominio, locale) }}
messaggio
- tipo:
stringa
parametri
- tipo:
array
predefinito:[]
dominio
- tipo:
stringa
predefinito:null
locale
- tipo:
stringa
predefinito:null
Traduce il testo nella lingua attuale. Maggiori informazioni su :ref:`Translation Filters <book-translation-filters>`.
{{ message|transchoice(conteggio, parametri, dominio, locale) }}
message
- tipo:
stringa
conteggio
- tipo:
intero
parametri
- tipo:
array
predefinito:[]
dominio
- tipo:
stringa
predefinito:null
locale
- tipo:
stringa
predefinito:null
Traduce il testo con supporto alla pluralizzazione. Maggiori informazioni su :ref:`Translation Filters <book-translation-filters>`.
{{ input|yaml_encode(inline, dumpObjects) }}
input
- tipo:
mixed
inline
- tipo:
intero
predefinito:0
dumpObjects
- tipo:
booleano
predefinito:false
Trasforma l'input in sintassi YAML. Vedere :ref:`components-yaml-dump` per maggiori informazioni.
{{ value|yaml_dump(inline, dumpObjects) }}
value
- tipo:
mixed
inline
- tipo:
intero
predefinito:0
dumpObjects
- tipo:
booleano
predefinito:false
Fa lo stesso di yaml_encode(), ma include il tipo nell'output.
{{ classe|abbr_class }}
classe
- tipo:
stringa
Genera un elemento <abbr>
con il nome breve di una classe PHP (il nome FQCN
sarà mostrato in un tooltip quando l'utente va sopra all'elemento).
{{ metodo|abbr_method }}
metodo
- tipo:
stringa
Genera un elemento <abbr>
usando la sintassi FQCN::method()
. Se metodo
è una Closure
, verrà invece usata la Closure
e se metodo
non ha un
nome di classe, è mostrato come una funzione (metodo()
).
{{ parametri|format_args }}
parametri
- tipo:
array
Genera una stringa con i parametri e i rispettivi tipi (in elementi <em>
).
{{ parametri|format_args_as_text }}
parametri
- tipo:
array
Uguale al filtro format_args, ma non usa tag.
{{ file|file_excerpt(riga) }}
file
- tipo:
stringa
riga
- tipo:
intero
Genera un estratto di 7 righe attorno alla riga data.
{{ file|format_file(riga, testo) }}
file
- tipo:
stringa
riga
- tipo:
intero
testo
- tipo:
stringa
predefinito:null
Genera il percorso del file in un elemento <a>
. Se il percorso è all'interno della
cartella radice del kernel, il percorso della cartella radice del kernel è sostituito da
kernel.root_dir
(mostrando il percorso completo in un tooltip).
{{ testo|format_file_from_text }}
testo
- tipo:
stringa
Usa |format_file <format_file> per migliorare l'output predefinito degli errori PHP.
{{ file|file_link(riga) }}
riga
- tipo:
intero
Genera un collegamento al file fornito (eventualmente anche alla riga), usando uno schema preconfigurato.
{% form_theme form risorse %}
form
- tipo:
FormView
risorse
- tipo:
array``|``stringa
Imposta le risorse per sovrascrivere il tema del form per l'istanza data della vista del form.
Si può usare _self
come risorse, per impostarli alla risorsa attuale. Maggiori
informazioni su :doc:`/cookbook/form/form_customization`.
{% trans with variabili from dominio into locale %}{% endtrans %}
variabili
- tipo:
array
predefinito:[]
dominio
- tipo:
stringa
predefinito:stringa
locale
- tipo:
stringa
predefinito:stringa
Rende la traduzione del contenuto. Maggiori informazioni su :ref:`book-translation-tags`.
{% transchoice conteggio with variabili from dominio into locale %}{% endtranschoice %}
conteggio
- tipo:
intero
variabili
- tipo:
array
predefinito:[]
dominio
- tipo:
stringa
predefinito:null
locale
- tipo:
stringa
predefinito:null
Rende la traduzione del contenuto con supporto alla pluralizzazione, maggiori informazioni su :ref:`book-translation-tags`.
{% trans_default_domain dominio %}
dominio
- tipo:
stringa
Imposta il dominio predefinito nel template attuale.
{% stopwatch 'nome' %}...{% endstopwatch %}
Misura il tempo di esecuzione del codice all'interno e lo inserisce nella linea temporale di WebProfilerBundle.
{% if choice is selectedchoice(valore) %}
choice
- tipo:
ChoiceView
valore
- tipo:
stringa
Verifica se valore
era impostato per il campo di scelta fornito. L'uso di
questo è il modo più efficiente.
La variabile app
è disponibile ovunque e dà accesso rapido a
molti oggetti di uso comune. La variabile app
è un'istanza di
:class:`Symfony\\Bundle\\FrameworkBundle\\Templating\\GlobalVariables`.
The available attributes are:
app.user
app.request
app.session
app.environment
app.debug
app.security
.. versionadded:: 2.6 La variabile ``app.security`` è deprecata da 2.6. L'utente è già disponibile come ``app.user`` e ``is_granted()`` è registrata come funzione.
Symfony Standard Edition aggiunge alcuni bundle al nucleo di Symfony. Questi bundle possono avere altre estensioni di Twig:
- Twig Extension include alcune estensioni interessanti, che non appartengono al nucleo di Twig. Si può approfondire nella documentazione ufficiale delle estensioni di Twig
- Assetic aggiunge i tag
{% stylesheets %}
,{% javascripts %}
e{% image %}
. Si può approfondire nella :doc:`documentazione di Assetic </cookbook/assetic/asset_management>`.