Grav-twig-filters-functions

提供:Dev Guides
移動先:案内検索

Grav-Twigフィルターと関数

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

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

  • 出力タグ-評価された式の結果をここに表示するには、次の構文が使用されます。
{{  Place Your Output Here  }}
  • アクションタグ-次の構文は、ここでステートメントを実行するために使用されます。
{%  executable statements are placed here  %}
  • コメントタグ-次の構文は、Twigテンプレートファイルにコメントを書き込むために使用されます。
{#  write your comment here  #}

小枝フィルター

Twigフィルターは、 | 文字を使用してフィルターをTwig変数に適用し、その後にフィルター名を続けます。 Twig関数と同様に、引数を括弧で渡すことができます。

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

Sr.No. Filter & Description Example
1

Absolute URL

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

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

absolute_url ----

に変換する-

[source,result,notranslate] ---- <img src="http://learn.getGrav.org/some/path/img.jpg%22/> ----

2

Camelize

文字列をCamelCase形式に変換します。

'contact_us'

camelize ----

に変換する-

[source,prettyprint,notranslate] ---- ContactUs ----

3

Contains

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

'This is some string'

contains('some') ----

出力は-

[source,result,notranslate] ---- 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') ----

次のように表示されます-

[source,prettyprint,notranslate] ---- True ----

6

FieldName

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

'field.name'

fieldName ----

次のように表示されます-

[source,prettyprint,notranslate] ---- field[name] ----

7

Humanize

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

'some_text_to_read'

humanize ----

次のように表示されます-

[source,prettyprint,notranslate] ---- Some text to read ----

8

Ksort

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

{% set ritems = {'orange':1, 'apple':2, 'peach':3}

ksort %} {% for key, value in ritems %}テンプレート:Key:テンプレート:Value, {% endfor %} ----

次のように表示されます-

[source,prettyprint,notranslate] ---- apple:2, orange:1, peach:3, ----

9

Left Trim

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

'/strip/leading/slash/'

ltrim('/') ----

次のように表示されます-

[source,prettyprint,notranslate] ---- strip/leading/slash/ ----

10

Markdown

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

'## some text with markdown'

markdown ----

次のように表示されます-

[source,prettyprint,notranslate] ---- some text with markdown ----

11

MD5

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

'something'

md5 ----

次のように表示されます-

[source,prettyprint,notranslate] ---- 437b930db84b8079c2dd804a71936b5f ----

12

Monthize

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

'61'

monthize ----

次のように表示されます-

[source,prettyprint,notranslate] ---- 2 ----

13

Nice Time

Nice Timeフィルターを使用することにより、人間が読める形式の日付を出力として取得できます。

page.date

nicetime(false) ----

次のように表示されます-

[source,prettyprint,notranslate] ---- 3 hrs ago ----

14

Ordinalize

Ordinalizeフィルターを使用して、整数に序数(1 ^ st ^、2 ^ nd ^、3 ^ rd ^など)を与えることができます。

'78'

ordinalize ----

次のように表示されます-

[source,prettyprint,notranslate] ---- 78th ----

15

Pluralize

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

'child'

pluralize ----

次のように表示されます-

[source,prettyprint,notranslate] ---- children ----

16

Randomize

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

{% set ritems = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten']

randomize(3) %} {% for ritem in ritems %}テンプレート:Ritem, {% endfor %} ----

次のように表示されます-

[source,prettyprint,notranslate] ---- one, two, three, eight, six, five, nine, seven, ten, four, ----

17

Right Trim

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

'/strip/leading/slash/'

rtrim('/') ----

次のように表示されます-

[source,prettyprint,notranslate] ---- /strip/leading/slash ----

18

Singularize

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

'vehicles'

singularize ----

次のように表示されます-

[source,prettyprint,notranslate] ---- vehicle ----

19

Safe Email

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

"[email protected]"

safe_email ----

出力は-

[source,prettyprint,notranslate] ---- [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 %} ----

それが表示されます-

[source,prettyprint,notranslate] ---- [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') ----

出力は-

[source,prettyprint,notranslate] ---- true ----

22

Translate

詳細については。

MY_LANGUAGE_KEY_STRING

それが表示されます-

'Some text in English'
23

Translate Admin

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

24

Titleize

文字列は、Titleizeを使用してタイトルケース形式に変換されます。

'welcome page'

titleize ----

次のように表示されます-

[source,prettyprint,notranslate] ---- Welcome Page ----

25

UnderScoreize

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

'ContactUs'

underscorize ----

それはに変換されます-

[source,prettyprint,notranslate] ---- contact_us ----

26

Truncate a string

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

'one sentence. two sentences'

truncate(5) ----

それは切り捨てられます-

[source,prettyprint,notranslate] ---- one s…​ ----

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

[source,prettyprint,notranslate] ---- 'one sentence. two sentences'

truncate(5, true) ----

それは切り捨てられます-

[source,prettyprint,notranslate] ---- one sentence ----

HTMLテキストを削除することもできますが、 truncate フィルターの前に striptags フィルターを使用する必要があります。

[source,prettyprint,notranslate] ---- '<p>one <strong>sentence<strong>. two sentences</p>'

striptags

truncate(5) ----

次のように表示されます-

[source,prettyprint,notranslate] ---- one s ----

小枝関数

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

Sr.No. Function & Description Example
1

Array

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

array(value)
2

Authorize

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

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

Dump

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

dump(page.header)
4

Debug

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

5

Gist

この関数は、Github Gist IDに基づいて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を作成し、PHP URLストリームを有効なHTMLリソースに変換します。 URLを解決できない場合は、デフォルト値を渡すことができます。

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

Translate

翻訳フィルターを使用すると、文字列は *

t* フィルターとして翻訳されます。
t('SITE_NAME')

に変換されます-

Site Name