Zur Hauptnavigation springen Zum Inhalt springen Zur Fußnavigation springen

Twig Filter und Funktionen

In dieser Dokumentation haben Sie vielleicht bemerkt, dass Zweigfilter wie |e und |raw verwendet werden, wenn wir in unseren Beispielen auf YAML-Felder verweisen. Hier ist ein kurzes Beispiel:

{% if particle.headline %}<h1 class="font-family-bloody">{{ particle.headline|raw }}</h1>{% endif %}

Diese Zeile stammt aus unserem Leitfaden zum Hinzufügen und Anwenden von Schriften. Es erkennt, ob das Headline-Feld eines Partikels einen eingestellten Wert hat, und wenn ja, zeigt es es in seinem rohen HTML-Format an.

Dies ermöglicht es dem Benutzer, HTML wie < style="color:red">Titel einzugeben und einen roten Titel am Frontend anzuzeigen, anstatt in seine literalen Zeichen übersetzt zu werden.

In Gantry werden diese Elemente standardmäßig escaped. Dies ist eine Sicherheitsvorkehrung, da es Inline-HTML aus diesen Feldern nur auf Felder beschränkt, für die Sie es absichtlich aktiviert haben. Wenn Sie gerendertes HTML für ein Feld öffnen möchten, müssen Sie den Filter |raw hinzufügen.

Hilfreiche Ressourcen

Die umfangreiche Twig-Dokumentation von SensioLabs umfasst Filter umfassend. Wir haben nur ein paar der über 30 offiziell in Twig unterstützten Personen abgedeckt.

Sie werden noch detailliertere Dokumentationen zu jedem Filter finden, einschließlich der Frage, wie und wann er verwendet wird. Wir empfehlen, mit der Lektüre über Flucht und Rohmaterial zu beginnen, da diese sowohl in unserer Dokumentation als auch im Hydrogen Theme häufig verwendet werden.

Benutzerdefinierte Twigfilter

Gantry 5 beinhaltet eine Reihe von verschiedenen Twig-Filtern, die speziell auf Gantry zugeschnitten sind. Sie ermöglichen es Ihnen, mehr aus Gantry herauszuholen und einige der leistungsstarken Funktionen zu nutzen.

FilterDescriptionParameters
fieldName Used internally in the Gantry administrator. It converts field names for the form.  
html Finds streams and converts them into real URLs. domain timestamp_age
url Takes a stream and converts it to a real URL.  
trans Translates the string.  
repeat Repeats whatever you put in it by the assigned count. count
json_decode Basically the same as json_decode() in php. assoc depth options
values Returns all the values from the array and indexes the array numerically.  
base64 Encodes the string into a base64 format.  
imagesize Grabs the image dimensions and outputs it in HTML tag format.  
truncate_text Strips text out of HTML tags and truncates text to a provided number of characters. limit
truncate_html Truncates text to a provided number of characters, preserving HTML. limit

Beispiele

Feldname

Input (Twig):

< input type="text" name="{{ 'particles.date.format'|fieldName }}"/>

Output (HTML):

< input type="text" name="particles[date][format]"/>

html

Input (Twig):

{{ '<img src="/"/>'|html }}

Output:

<img src="/templates/g5_hydrogen/images/foo.jpg"/>

url

Input (Twig):

<img src="{{ 'gantry-theme://images/foo.jpg'|url }}"/>

Output (HTML):

<img src="/templates/g5_hydrogen/images/foo.jpg"/>

trans

Input (Twig):

<h1>{{ 'GANTRY5_PLATFORM_STYLES'|trans }}</h1>

Output (HTML):

<h1>Styles</h1>

repeat

Input (Twig):

{{ '.'|repeat(3) }}

Output (HTML):

...

values

Input (Twig):

{% set array = {one: 'foo', two: 'bar'} %}
{% set values = array|values %}
{{ array|json_encode }} => {{ values|json_encode }}

Output (HTML):

{"one":"foo",""two":"bar"} => ["foo","bar"]

imagesize

Input (Twig):

<img src="/{{ 'gantry-theme://images/foo.jpg'|url }}" {{ 'gantry-theme://images/foo.jpg'|imagesize }}/>

Output (HTML):

<img src="/templates/g5_hydrogen/images/foo.jpg" width="100" height="50" />

Benutzerdefinierte Twig-Funktionen

Genau wie bei Twig Filters - Gantry 5 hat auch eine Reihe von benutzerdefinierten Twig-Funktionen, die Sie in Vorlagen und Partikeln verwenden können. Hier ist eine kurze Liste:

FunktionBeschreibungParameter
nested Liefert den Wert durch die Verwendung der Punktnotation für verschachtelte Arrays/Objekte.  
colorContrast Bei einer Farbe gibt es eine passende helle oder dunkle Farbe für einen besseren Kontrast zurück.  
get_cookie Ruft ein Cookie von der aktuellen Anfrage ab.  
preg_match Sucht den Betreff nach einer Übereinstimmung mit dem regulären Ausdruck, der im Muster angegeben ist. pattern subject
url Nimmt einen Stream und konvertiert ihn in eine echte URL.  
json_decode Im Grunde genommen dasselbe wie json_decode() in PHP. assoc depth options
imagesize Ergreift die Bildabmessungen und gibt sie im HTML-Tag-Format aus.