Lingue
Panoramica
In SelfComposer è possibile mostrare i contenuti in modo differente in base alle lingue scelte, attivabili dal pannello in Impostazioni > Generali > Lingue.
Implementazione
Estrarre le informazioni delle lingue
La lingua attiva può essere quella di default o quella scelta dall'utente. Le informazioni della lingua attiva sono contenuti in lang
, un oggetto che contiene:
nome | tipo | descrizione |
---|---|---|
id | int | Id della lingua |
code | string | Codice della lingua (ad esempio "it") |
name | string | Nome della lingua |
transl | string | Nome della lingua tradotto in inglese (ad esempio "italian") |
direction | string | Indica la direzione della scrittura ("ltr" per quella da sinistra a destra, "rtl" per quelle opposte) |
time_format | string - date_format | Formato dell'ora nella nomenclatura di PHP (ad esempio "H:i") |
short_date_format | string - date_format | Formato della data in breve nella nomenclatura PHP (ad esempio "d/m/y") |
long_date_format | string - date_format | Formato della data estesa nella nomenclatura PHP (ad esempio "l j F Y") |
enabled | int - 0/1 | Se a 1 la lingua è abilitata |
redirect | ||
sequence | float | Numero della posizione nell'ordinamento della lingua, il più basso è la lingua di default |
created_at | date | Creata il |
updated_at | date | Aggiornata il |
url | string - URL | URL della pagina in cui ci si trova in questa lingua |
active | bool | Indica se la lingua è quella attualmente attiva |
Per estrarre una collection di tutte le lingue attive è possibile utilizzare la funzione get_languages(), ogni lingua avrà come parametri quelli descritti sopra.
Esempio
Creare un menu di selezione della lingua
In questo esempio creiamo una lista con le lingue attive con il link per visualizzarle. L'elenco sarà visibile solo se è attiva più di una lingua.
{% set languages = get_languages() %} {# imposto le lingue attive in una variabile #} {% if languages|length > 1 %} {# controlliamo che sia attiva più di una lingua #} <ul> {% for lang in languages %} <li><a href="{{ lang.url }}">{{ lang.name }}</a></li> {# estraiamo nome e url di ogni lingua #} {% endfor %} </ul> {% endif %}