Grav - Filtros e funções do Twig

Neste capítulo, vamos estudar sobre Twig Filters and Functions. Filtros são usados ​​para formatar os dados da maneira que você quiser com a saída necessária também. Funções são usadas para gerar conteúdos.

Os modelos Twig são arquivos de texto que contêm expressões e variáveis ​​substituídas por valores. Twig usa três tipos de tags.

  • Output tags - A seguinte sintaxe é usada para exibir o resultado das expressões avaliadas aqui.

{{  Place Your Output Here  }}
  • Action Tags - A seguinte sintaxe é usada para executar instruções aqui.

{%  executable statements are placed here  %}
  • Comment tags - A seguinte sintaxe é usada para escrever comentários no arquivo de modelo Twig.

{#  write your comment here  #}

Filtros de galho

Filtros Twig usam o |caractere para aplicar filtros à variável Twig seguido do nome do filtro. Os argumentos podem ser passados ​​entre parênteses de forma semelhante às funções Twig.

A tabela a seguir mostra os filtros Twig usados ​​em Grav -

Sr. Não. Filtro e descrição Exemplo
1

Absolute URL

Ele pega o caminho relativo e o converte em um URL absoluto.

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

converte para -

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

Camelize

Ele converte uma string para o formato CamelCase.

'contact_us'| camelize

converte para -

ContactUs
3

Contains

se encontrar a string.

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

a saída é -

1
4

Defined

Você pode verificar se alguma variável está definida ou não. Se a variável não for definida, você pode fornecer um valor padrão.

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

Define header_image_width com valor 900 se não estiver definido.

5

Ends-With

Você pode determinar se uma string termina com uma determinada string usando o filtro Ends-With.

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

é exibido como -

True
6

FieldName

Ele filtra o nome do campo, alterando o ponto em notação de matriz.

'field.name'|fieldName

é exibido como -

field[name]
7

Humanize

É usado para converter uma string em um formato legível por humanos.

'some_text_to_read'|humanize

é exibido como -

Some text to read
8

Ksort

Ele classifica um mapa de array usando a chave.

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

é exibido como -

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

Left Trim

É usado para remover espaços em branco no início de uma string e remove o caractere correspondente fornecido do lado esquerdo da string.

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

é exibido como -

strip/leading/slash/
10

Markdown

Ele é usado para converter a string contendo markdown em HTML usando o analisador de markdown do Grav.

'## some text with markdown'|markdown

é exibido como -

some text with markdown

11

MD5

O hash md5 para a string pode ser criado usando este filtro.

'something'|md5

é exibido como -

437b930db84b8079c2dd804a71936b5f
12

Monthize

Usando o filtro Monthize, podemos converter um número inteiro de dias em meses.

'61'|monthize

é exibido como -

2
13

Nice Time

Usando o filtro Nice Time, podemos obter uma data em um formato de hora legível por humanos como saída.

page.date|nicetime(false)

é exibido como -

3 hrs ago
14

Ordinalize

Ordinais (como 1 r , 2 nd , 3 rd ) pode ser dada em números inteiros utilizando filtro Ordinalize.

'78'| ordinalize

é exibido como -

78th
15

Pluralize

Uma string pode ser convertida para sua forma plural em inglês usando o filtro Pluralize.

'child'|pluralize

é exibido como -

children
16

Randomize

Este filtro ajuda a randomizar a lista fornecida. Se o parâmetro contiver algum valor, esses valores serão ignorados da randomização.

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

é exibido como -

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

Right Trim

É bastante semelhante ao corte esquerdo, exceto que remove os espaços em branco e o caractere correspondente do lado direito da string.

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

é exibido como -

/strip/leading/slash
18

Singularize

Uma string pode ser convertida para a versão singular do inglês usando o filtro Singular.

'vehicles'|singularize

é exibido como -

vehicle
19

Safe Email

O filtro de e-mail seguro é usado para converter um endereço de e-mail em caracteres ASCII para dificultar o envio de spam de um e-mail.

"[email protected]"|safe_email

a saída é -

[email protected]
20

SortByKey

Ele é usado para classificar o mapa da matriz usando chaves.

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

exibe -

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

Starts-With

Você pode determinar se uma string começa com uma determinada string usando o filtro Starts-With.

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

a saída é -

true
22

Translate

para informações mais detalhadas.

MY_LANGUAGE_KEY_STRING

exibe -

'Some text in English'
23

Translate Admin

Ele traduz uma string para o idioma atual, que é definido no user.yaml Arquivo.

24

Titleize

Uma string é convertida no formato de caixa de título usando Titleize.

'welcome page'|titleize

é exibido como -

Welcome Page
25

UnderScoreize

formato usando o filtro UnderScoreize.

'ContactUs'|underscorize

é convertido para -

contact_us
26

Truncate a string

Você pode usar Truncar para truncar uma string ou encurtar a string, você deve especificar o número de caracteres.

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

ele trunca para -

one s...

Você pode usar true como parâmetro se você não quiser truncar a string para o final da frase mais próximo após o número de caracteres fornecido.

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

ele trunca para -

one sentence
Você também pode remover o texto HTML, mas deve usar striptags filtrar antes truncate filtro.
'<p>one <strong>sentence<strong>. two sentences</p>'|striptags|truncate(5)

é exibido como -

one s

Funções Twig

As funções Twig são chamadas diretamente passando o parâmetro. A tabela a seguir lista as funções -

Sr. Não. Descrição da função Exemplo
1

Array

Esta função converte um valor para array.

array(value)
2

Authorize

Esta função faz com que um usuário autenticado seja autorizado a ver um recurso e aceite a string de permissão ou matriz de strings de permissão.

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

Dump

Ele aceita uma variável twig válida e a despeja no painel do depurador Grav. No entanto, o depurador deve ser habilitado para ver os valores da guia de mensagens.

dump(page.header)
4

Debug

Isso funciona da mesma forma que a função dump ().

5

Gist

Esta função cria o código embed Gist com base no Github Gist ID.

6

Random String Generation

Esta função criará uma string aleatória com o número especificado de caracteres. Essas strings podem ser usadas como ID ou chave exclusiva.

generate_random_string(10)
7

Repeat

Esta função irá repetir a string por um determinado período de tempo.

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

String

Gera uma sequência aleatória de comprimento de caractere especificado.

ta (23)
9

Translate Array

É uma função conectada com |ta filtro.

10

Url

Este filtro criará uma URL e também converterá fluxos de URL PHP em recursos HTML válidos. Se a URL não puder ser resolvida, um valor padrão pode ser passado.

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

Translate

Usando o filtro Translate, uma string é traduzida como o |t filtro.

t('SITE_NAME')

é traduzido para -

Site Name