Grav - Twig Filtreleri ve Fonksiyonları

Bu bölümde, bunun hakkında çalışalım Twig Filters and Functions. Filtreler, verileri gerekli çıktıyla istediğiniz şekilde biçimlendirmek için de kullanılır. Fonksiyonlar içerik oluşturmak için kullanılır.

Twig şablonları, değerlerle değiştirilen ifadeleri ve değişkenleri içeren metin dosyalarıdır. Twig, üç tür etiket kullanır.

  • Output tags - Aşağıdaki sözdizimi, değerlendirilen ifadelerin sonucunu burada görüntülemek için kullanılır.

{{  Place Your Output Here  }}
  • Action Tags - Buradaki ifadeleri yürütmek için aşağıdaki sözdizimi kullanılır.

{%  executable statements are placed here  %}
  • Comment tags - Aşağıdaki sözdizimi, Twig şablon dosyasına yorum yazmak için kullanılır.

{#  write your comment here  #}

Twig Filtreleri

Twig Filters, |Twig değişkenine filtre uygulamak için karakter ve ardından filtre adı. Argümanlar, Twig fonksiyonlarına benzer şekilde parantez içinde iletilebilir.

Aşağıdaki tablo Grav'da kullanılan Twig Filtrelerini göstermektedir -

Sr.No. Filtre ve Açıklama Misal
1

Absolute URL

Göreli yolu alır ve onu mutlak bir URL'ye dönüştürür.

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

dönüşür -

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

Camelize

Bir dizeyi CamelCase biçimine dönüştürür.

'contact_us'| camelize

dönüşür -

ContactUs
3

Contains

dizeyi bulursa.

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

çıktı -

1
4

Defined

Bazı değişkenlerin tanımlı olup olmadığını kontrol edebilirsiniz. Değişken tanımlanmamışsa, varsayılan bir değer sağlayabilirsiniz.

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

Ayarlar header_image_width tanımlanmamışsa 900 değeriyle.

5

Ends-With

Bitiş-İle filtresini kullanarak bir dizenin belirli bir dizeyle bitip bitmediğini belirleyebilirsiniz.

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

olarak görüntülenir -

True
6

FieldName

Alan adını, noktayı dizi gösterimine dönüştürerek filtreler.

'field.name'|fieldName

olarak görüntülenir -

field[name]
7

Humanize

Bir dizeyi okunabilir biçime dönüştürmek için kullanılır.

'some_text_to_read'|humanize

olarak görüntülenir -

Some text to read
8

Ksort

Key kullanarak bir dizi haritasını sıralar.

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

olarak görüntülenir -

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

Left Trim

Bir dizenin başındaki beyaz boşlukları kaldırmak için kullanılır ve dizenin sol tarafından verilen eşleşen karakteri kaldırır.

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

olarak görüntülenir -

strip/leading/slash/
10

Markdown

Grav'ın markdown ayrıştırıcısını kullanarak markdown içeren dizeyi HTML'ye dönüştürmek için kullanılır.

'## some text with markdown'|markdown

olarak görüntülenir -

some text with markdown

11

MD5

Dize için md5 hash değeri bu filtre kullanılarak oluşturulabilir.

'something'|md5

olarak görüntülenir -

437b930db84b8079c2dd804a71936b5f
12

Monthize

Monthize filtresi kullanarak, bir tamsayı gün sayısını ay sayısına dönüştürebiliriz.

'61'|monthize

olarak görüntülenir -

2
13

Nice Time

Nice Time filtresini kullanarak, insan tarafından okunabilir güzel zaman biçiminde çıktı olarak bir tarih alabiliriz.

page.date|nicetime(false)

olarak görüntülenir -

3 hrs ago
14

Ordinalize

Sıra (1 gibi st , 2 nci , 3 üncü ) Ordinalize filtresini kullanarak tamsayılar için verilebilir.

'78'| ordinalize

olarak görüntülenir -

78th
15

Pluralize

Bir dizge, Çoğullaştır filtresi kullanılarak çoğul İngilizce biçimine dönüştürülebilir.

'child'|pluralize

olarak görüntülenir -

children
16

Randomize

Bu filtre, sağlanan listenin rastgele seçilmesine yardımcı olur. Parametre herhangi bir değer içeriyorsa, bu değerler rasgele dağıtılmadan atlanır.

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

olarak görüntülenir -

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

Right Trim

Beyaz boşlukları ve eşleşen karakteri dizenin sağ tarafından kaldırması dışında sol kırpmaya oldukça benzer.

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

olarak görüntülenir -

/strip/leading/slash
18

Singularize

Bir dizge, Tekil filtre kullanılarak İngilizce tekil sürüme dönüştürülebilir.

'vehicles'|singularize

olarak görüntülenir -

vehicle
19

Safe Email

Güvenli E-posta filtresi, bir e-posta adresini ASCII karakterlerine dönüştürmek için kullanılır, böylece bir e-postanın spam gönderilmesini zorlaştırır.

"[email protected]"|safe_email

çıktı -

[email protected]
20

SortByKey

Anahtarları kullanarak dizi haritasını sıralamak için kullanılır.

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

görüntülenir -

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

Starts-With

Bir dizenin belirli bir dizeyle başlayıp başlamadığını Başlayanlar-İle filtresini kullanarak belirleyebilirsiniz.

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

çıktı -

true
22

Translate

daha detaylı bilgi için.

MY_LANGUAGE_KEY_STRING

görüntülenir -

'Some text in English'
23

Translate Admin

Bir dizeyi, içinde ayarlanmış olan geçerli dile çevirir. user.yaml dosya.

24

Titleize

Bir dize, Titleize kullanılarak Title Case formatına dönüştürülür.

'welcome page'|titleize

olarak görüntülenir -

Welcome Page
25

UnderScoreize

UnderScoreize filtresini kullanarak biçimlendirin.

'ContactUs'|underscorize

dönüştürülür -

contact_us
26

Truncate a string

Bir dizeyi kesmek veya dizeyi kısaltmak için Kes'i kullanabilirsiniz, karakter sayısını belirtmelisiniz.

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

kısalır -

one s...

Kullanabilirsiniz true dizeyi verilen karakter sayısından sonra en yakın cümle sonuna kesmek istemiyorsanız parametre olarak.

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

kısalır -

one sentence
Ayrıca HTML metnini de çıkarabilirsin, ancak kullanmalısın striptags önce filtrele truncate filtre.
'<p>one <strong>sentence<strong>. two sentences</p>'|striptags|truncate(5)

olarak görüntülenir -

one s

Twig İşlevleri

Twig Fonksiyonları doğrudan parametre geçilerek çağrılır. Aşağıdaki tablo fonksiyonları listeler -

Sr.No. İşlev ve Açıklama Misal
1

Array

Bu işlev diziye bir değer atar.

array(value)
2

Authorize

Bu işlev, kimliği doğrulanmış bir kullanıcının bir kaynağı görme yetkisine sahip olmasını sağlar ve izin dizesini veya izin dizeleri dizisini kabul eder.

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

Dump

Geçerli bir dal değişkeni kabul eder ve bunu Grav hata ayıklayıcı paneline döker. Ancak, hata ayıklayıcı, ileti sekmesi değerlerini görmek için etkinleştirilmelidir.

dump(page.header)
4

Debug

Bu, dump () işleviyle aynı şekilde çalışır.

5

Gist

Bu işlev, Github Gist kimliğine dayalı olarak Gist yerleştirme kodunu oluşturur.

6

Random String Generation

Bu işlev, belirtilen sayıda karakterle rastgele bir dizge oluşturacaktır. Bu dizeler benzersiz kimlik veya anahtar olarak kullanılabilir.

generate_random_string(10)
7

Repeat

Bu işlev dizeyi belirli bir süre boyunca tekrarlayacaktır.

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

String

Belirtilen karakter uzunluğunda rastgele bir dize oluşturur.

ta (23)
9

Translate Array

İle bağlantılı bir işlevdir |ta filtre.

10

Url

Bu filtre bir URL oluşturur ve ayrıca PHP URL akışlarını geçerli HTML kaynaklarına dönüştürür. URL çözülemezse, varsayılan bir değer geçilebilir.

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

Translate

Çevir filtresini kullanarak bir dize, |t filtre.

t('SITE_NAME')

tercüme edildi -

Site Name