Grav - Zweigfilter und Funktionen

Lassen Sie uns in diesem Kapitel etwas darüber lernen Twig Filters and Functions. Filter werden verwendet, um die Daten mit der erforderlichen Ausgabe nach Ihren Wünschen zu formatieren. Funktionen werden zum Generieren von Inhalten verwendet.

Zweigvorlagen sind Textdateien, die Ausdrücke und Variablen enthalten, die durch Werte ersetzt werden. Twig verwendet drei Arten von Tags.

  • Output tags - Die folgende Syntax wird verwendet, um das Ergebnis der ausgewerteten Ausdrücke hier anzuzeigen.

{{  Place Your Output Here  }}
  • Action Tags - Die folgende Syntax wird verwendet, um Anweisungen hier auszuführen.

{%  executable statements are placed here  %}
  • Comment tags - Die folgende Syntax wird verwendet, um Kommentare in die Twig-Vorlagendatei zu schreiben.

{#  write your comment here  #}

Zweigfilter

Zweigfilter verwendet die |Zeichen zum Anwenden von Filtern auf die Twig-Variable, gefolgt vom Filternamen. Argumente können ähnlich wie Twig-Funktionen in Klammern übergeben werden.

Die folgende Tabelle zeigt die in Grav - verwendeten Zweigfilter.

Sr.Nr. Filter & Beschreibung Beispiel
1

Absolute URL

Es nimmt den relativen Pfad und konvertiert ihn in eine absolute URL.

'<img src="/some/path/img.jpg"/>' |absolute_url

konvertiert zu -

<img src="http://learn.getGrav.org/some/path/img.jpg" />
2

Camelize

Es konvertiert eine Zeichenfolge in das CamelCase-Format.

'contact_us'| camelize

konvertiert zu -

ContactUs
3

Contains

wenn es die Zeichenfolge findet.

'This is some string' | contains('some')

die Ausgabe ist -

1
4

Defined

Sie können überprüfen, ob eine Variable definiert ist oder nicht. Wenn keine Variable definiert ist, können Sie einen Standardwert angeben.

set header_image_width = 
page.header.header_image_width|defined(900)

Es setzt header_image_width mit dem Wert 900, wenn er nicht definiert ist.

5

Ends-With

Mithilfe des Ends-With-Filters können Sie feststellen, ob eine Zeichenfolge mit einer bestimmten Zeichenfolge endet.

'this is an example for ends-with filter' | ends_with('filter')

es wird angezeigt als -

True
6

FieldName

Es filtert den Feldnamen, indem es den Punkt in die Array-Notation ändert.

'field.name'|fieldName

es wird angezeigt als -

field[name]
7

Humanize

Es wird verwendet, um eine Zeichenfolge in ein lesbares Format zu konvertieren.

'some_text_to_read'|humanize

es wird angezeigt als -

Some text to read
8

Ksort

Es sortiert eine Array-Map mit dem Schlüssel.

{% set ritems = {'orange':1, 'apple':2, 'peach':3}|ksort %}
{% for key, value in ritems %}{{ key }}:{{ value }}, {% endfor %}

es wird angezeigt als -

apple:2, orange:1, peach:3,
9

Left Trim

Es wird verwendet, um Leerzeichen am Anfang einer Zeichenfolge zu entfernen und das übereinstimmende Zeichen von der linken Seite der Zeichenfolge zu entfernen.

'/strip/leading/slash/'|ltrim('/')

es wird angezeigt als -

strip/leading/slash/
10

Markdown

Es wird verwendet, um die Zeichenfolge mit Markdown mithilfe des Markdown-Parsers von Grav in HTML zu konvertieren.

'## some text with markdown'|markdown

es wird angezeigt als -

some text with markdown

11

MD5

Mit diesem Filter kann der MD5-Hash für die Zeichenfolge erstellt werden.

'something'|md5

es wird angezeigt als -

437b930db84b8079c2dd804a71936b5f
12

Monthize

Mithilfe des Monthize-Filters können wir eine ganzzahlige Anzahl von Tagen in eine Anzahl von Monaten konvertieren.

'61'|monthize

es wird angezeigt als -

2
13

Nice Time

Mit dem Filter "Schöne Zeit" können wir ein Datum in einem für Menschen lesbaren Zeitformat als Ausgabe erhalten.

page.date|nicetime(false)

es wird angezeigt als -

3 hrs ago
14

Ordinalize

Ordinalzahlen (wie 1 st , 2 nd , 3 rd ) kann durch die Verwendung Ordinalize Filter auf ganze Zahlen gegeben werden.

'78'| ordinalize

es wird angezeigt als -

78th
15

Pluralize

Ein String kann mithilfe des Pluralize-Filters in seine englische Pluralform konvertiert werden.

'child'|pluralize

es wird angezeigt als -

children
16

Randomize

Dieser Filter hilft bei der Randomisierung der bereitgestellten Liste. Wenn der Parameter Werte enthält, werden diese Werte von der Randomisierung übersprungen.

{% set ritems = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']|randomize(3) %}
{% for ritem in ritems %}{{ ritem }}, {% endfor %}

es wird angezeigt als -

one, two, three, eight, six, five, nine, seven, ten, four,
17

Right Trim

Es ist dem linken Rand ziemlich ähnlich, außer dass Leerzeichen und übereinstimmende Zeichen von der rechten Seite der Zeichenfolge entfernt werden.

'/strip/leading/slash/'|rtrim('/')

es wird angezeigt als -

/strip/leading/slash
18

Singularize

Ein String kann mithilfe des Singular-Filters in eine englische Singular-Version konvertiert werden.

'vehicles'|singularize

es wird angezeigt als -

vehicle
19

Safe Email

Der sichere E-Mail-Filter wird verwendet, um eine E-Mail-Adresse in ASCII-Zeichen umzuwandeln, sodass das Versenden von E-Mails an eine E-Mail schwieriger wird.

"[email protected]"|safe_email

die Ausgabe ist -

[email protected]
20

SortByKey

Es wird verwendet, um die Array-Map mithilfe von Schlüsseln zu sortieren.

{% set people = [{'email':'[email protected]', 'id':3}, {'email':'[email protected]', 'id':1}, {'email':'[email protected]', 'id':7}]|sort_by_key('id') %}
{% for person in people %}{{ person.email }}:{{ person.id }}, {% endfor %}

es zeigt an -

[email protected]:1, [email protected]:3, [email protected]:7,
21

Starts-With

Mithilfe des Starts-With-Filters können Sie feststellen, ob eine Zeichenfolge mit einer bestimmten Zeichenfolge beginnt.

'this is an example for starts-with filter' |starts_with('this')

die Ausgabe ist -

true
22

Translate

für detailliertere Informationen.

MY_LANGUAGE_KEY_STRING

es zeigt an -

'Some text in English'
23

Translate Admin

Es übersetzt eine Zeichenfolge in die aktuelle Sprache, die in der festgelegt ist user.yaml Datei.

24

Titleize

Eine Zeichenfolge wird mithilfe von Titleize in das Title Case-Format konvertiert.

'welcome page'|titleize

es wird angezeigt als -

Welcome Page
25

UnderScoreize

Formatieren mit dem UnderScoreize-Filter.

'ContactUs'|underscorize

es wird umgewandelt in -

contact_us
26

Truncate a string

Sie können Abschneiden verwenden, um eine Zeichenfolge abzuschneiden oder zu verkürzen. Sie müssen die Anzahl der Zeichen angeben.

'one sentence. two sentences'|truncate(5)

es schneidet ab zu -

one s...

Sie können verwenden true als Parameter, wenn Sie die Zeichenfolge nach der angegebenen Anzahl von Zeichen nicht auf das nächste Satzende kürzen möchten.

'one sentence. two sentences'|truncate(5, true)

es schneidet ab zu -

one sentence
Sie können auch HTML-Text entfernen, aber Sie sollten verwenden striptags vorher filtern truncate Filter.
'<p>one <strong>sentence<strong>. two sentences</p>'|striptags|truncate(5)

es wird angezeigt als -

one s

Zweigfunktionen

Zweigfunktionen werden direkt durch Übergabe des Parameters aufgerufen. Die folgende Tabelle listet die Funktionen auf -

Sr.Nr. Bedienungsanleitung Beispiel
1

Array

Diese Funktion wandelt einen Wert in ein Array um.

array(value)
2

Authorize

Diese Funktion bewirkt, dass ein authentifizierter Benutzer zum Anzeigen einer Ressource berechtigt ist und Berechtigungszeichenfolgen oder Arrays von Berechtigungszeichenfolgen akzeptiert.

authorize(['admin.statistics', 'admin.super'])
3

Dump

Es akzeptiert eine gültige Zweigvariable und speichert sie im Grav-Debugger-Bereich. Der Debugger sollte jedoch aktiviert sein, um die Werte auf der Registerkarte "Nachricht" anzuzeigen.

dump(page.header)
4

Debug

Dies funktioniert genauso wie die Funktion dump ().

5

Gist

Diese Funktion erstellt den Gist-Einbettungscode basierend auf der Github-Gist-ID.

6

Random String Generation

Diese Funktion erstellt eine zufällige Zeichenfolge mit der angegebenen Anzahl von Zeichen. Diese Zeichenfolgen können als eindeutige ID oder Schlüssel verwendet werden.

generate_random_string(10)
7

Repeat

Diese Funktion wiederholt die Zeichenfolge für eine bestimmte Zeit.

repeat('Grav ', 10) will repeat Grav 10 times.
8

String

Erzeugt eine zufällige Zeichenfolge mit der angegebenen Zeichenlänge.

ta (23)
9

Translate Array

Es ist eine Funktion, die mit verbunden ist |ta Filter.

10

Url

Dieser Filter erstellt eine URL und konvertiert auch PHP-URL-Streams in gültige HTML-Ressourcen. Wenn die URL nicht aufgelöst werden kann, kann ein Standardwert übergeben werden.

url('theme://images/logo.png') | default('http://www.placehold.it/150x100/f4f4f4')
11

Translate

Mit dem Filter "Übersetzen" wird eine Zeichenfolge als übersetzt |t Filter.

t('SITE_NAME')

wird übersetzt in -

Site Name