Grav-Twigフィルターと関数

この章では、について勉強しましょう Twig Filters and Functions。フィルタは、必要な出力を使用してデータを希望どおりにフォーマットするためにも使用されます。関数はコンテンツを生成するために使用されます。

Twigテンプレートは、値に置き換えられた式と変数を含むテキストファイルです。Twigは3種類のタグを使用します。

  • Output tags −以下の構文を使用して、評価された式の結果をここに表示します。

{{  Place Your Output Here  }}
  • Action Tags −ここでステートメントを実行するには、次の構文を使用します。

{%  executable statements are placed here  %}
  • Comment tags − Twigテンプレートファイルにコメントを書き込むには、次の構文が使用されます。

{#  write your comment here  #}

小枝フィルター

TwigFiltersは |Twig変数にフィルターを適用する文字とそれに続くフィルター名。Twig関数と同様に、引数を括弧内に渡すことができます。

次の表は、Grav −で使用されるTwigフィルターを示しています。

シニア番号 フィルタと説明
1

Absolute URL

相対パスを取得し、絶対URLに変換します。

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

−に変換します

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

Camelize

文字列をキャメルケース形式に変換します。

'contact_us'| camelize

−に変換します

ContactUs
3

Contains

文字列が見つかった場合。

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

出力は−

1
4

Defined

変数が定義されているかどうかを確認できます。変数が定義されていない場合は、デフォルト値を指定できます。

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

セットします header_image_width 定義されていない場合は値900。

5

Ends-With

Ends-Withフィルタを使用して、文字列が特定の文字列で終わるかどうかを判断できます。

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

−と表示されます

True
6

FieldName

ドットを配列表記に変更することにより、フィールド名をフィルタリングします。

'field.name'|fieldName

−と表示されます

field[name]
7

Humanize

文字列を人間が読める形式に変換するために使用されます。

'some_text_to_read'|humanize

−と表示されます

Some text to read
8

Ksort

キーを使用して配列マップをソートします。

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

−と表示されます

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

Left Trim

文字列の先頭の空白を削除し、文字列の左側から指定された一致する文字を削除するために使用されます。

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

−と表示されます

strip/leading/slash/
10

Markdown

Gravのマークダウンパーサーを使用して、マークダウンを含む文字列をHTMLに変換するために使用されます。

'## some text with markdown'|markdown

−と表示されます

some text with markdown

11

MD5

文字列のmd5ハッシュは、このフィルターを使用して作成できます。

'something'|md5

−と表示されます

437b930db84b8079c2dd804a71936b5f
12

Monthize

Monthizeフィルターを使用すると、整数の日数を月数に変換できます。

'61'|monthize

−と表示されます

2
13

Nice Time

ニースタイムフィルターを使用すると、人間が読める形式の日付を出力として取得できます。

page.date|nicetime(false)

−と表示されます

3 hrs ago
14

Ordinalize

(1等序番目、2番目、3番目は)Ordinalizeフィルタを使用して整数に与えることができます。

'78'| ordinalize

−と表示されます

78th
15

Pluralize

文字列は、複数形フィルターを使用して複数の英語形式に変換できます。

'child'|pluralize

−と表示されます

children
16

Randomize

このフィルターは、提供されたリストをランダム化するのに役立ちます。パラメータに値が含まれている場合、それらの値はランダム化からスキップされます。

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

−と表示されます

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

Right Trim

文字列の右側から空白と一致する文字を削除することを除いて、左トリムと非常によく似ています。

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

−と表示されます

/strip/leading/slash
18

Singularize

文字列は、Singularフィルターを使用して英語の単数バージョンに変換できます。

'vehicles'|singularize

−と表示されます

vehicle
19

Safe Email

安全な電子メールフィルターは、電子メールアドレスをASCII文字に変換するために使用されるため、電子メールがスパムされにくくなります。

"[email protected]"|safe_email

出力は−

[email protected]
20

SortByKey

キーを使用して配列マップをソートするために使用されます。

{% 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 %}

表示されます-

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

Starts-With

Starts-Withフィルタを使用して、文字列が特定の文字列で始まるかどうかを判断できます。

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

出力は−

true
22

Translate

詳細については。

MY_LANGUAGE_KEY_STRING

表示されます-

'Some text in English'
23

Translate Admin

文字列を、で設定されている現在の言語に変換します。 user.yaml ファイル。

24

Titleize

文字列は、Titleizeを使用してTitleCase形式に変換されます。

'welcome page'|titleize

−と表示されます

Welcome Page
25

UnderScoreize

UnderScoreizeフィルターを使用してフォーマットします。

'ContactUs'|underscorize

−に変換されます

contact_us
26

Truncate a string

Truncateを使用して、文字列を切り捨てたり、文字列を短縮したりできます。文字数を指定する必要があります。

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

−に切り捨てられます

one s...

使用できます true 指定された文字数の後に文字列を最も近い文末に切り捨てたくない場合は、パラメーターとして。

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

−に切り捨てられます

one sentence
HTMLテキストを削除することもできますが、使用する必要があります striptags 前にフィルタリング truncate フィルタ。
'<p>one <strong>sentence<strong>. two sentences</p>'|striptags|truncate(5)

−と表示されます

one s

小枝機能

Twig関数は、パラメーターを渡すことによって直接呼び出されます。次の表に機能を示します-

シニア番号 機能と説明
1

Array

この関数は、値を配列にキャストします。

array(value)
2

Authorize

この関数は、認証されたユーザーにリソースの表示を許可し、許可文字列または許可文字列の配列を受け入れます。

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

Dump

有効な小枝変数を受け入れ、それをGravデバッガーパネルにダンプします。ただし、メッセージタブの値を表示するには、デバッガーを有効にする必要があります。

dump(page.header)
4

Debug

これは、dump()関数と同じように機能します。

5

Gist

この関数は、Github GistIDに基づいてGist埋め込みコードを作成します。

6

Random String Generation

この関数は、指定された文字数のランダムな文字列を作成します。これらの文字列は、一意のIDまたはキーとして使用できます。

generate_random_string(10)
7

Repeat

この関数は、指定された時間、文字列を繰り返します。

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

String

指定された文字長のランダムな文字列を生成します。

ta (23)
9

Translate Array

に関連する機能です |ta フィルタ。

10

Url

このフィルターはURLを作成し、PHPURLストリームを有効なHTMLリソースに変換します。URLを解決できない場合は、デフォルト値を渡すことができます。

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

Translate

翻訳フィルターを使用すると、文字列は次のように翻訳されます。 |t フィルタ。

t('SITE_NAME')

に翻訳されます-

Site Name