Доступни Liquid филтери
Liquid филтери се користе за мењање излаза ниски, бројева, променљивих и објеката. Раздвајају се од вредности на коју се примењују помоћу знака |.
{{ 'hal 9000' | upcase }} <!-- Output: HAL 9000 -->
Неки филтери прихватају параметре. Филтере можете и да комбинујете, а примењују се редоследом слева надесно.
{{ 2 | times: 2 | minus: 1 }} <!-- Output: 3 -->
{{ "Hello, " | append: user.firstname }} <!-- Output: Hello, Dave -->
Одељак у наставку описује разне филтере.
Филтери низа
Филтери низа се користе за рад са низовима.
batch
Дели низ у више низова у датој величини.
Шифру
{% assign batches = entityview.records | batch: 2 %}
{% for batch in batches %}
<ul>
{% for item in batch %}
<li>{{ item.fullname }}</li>
{% endfor %}
</ul>
{% endfor %}
Излаз
<ul>
<li>John Smith</li>
<li>Dave Thomas</li>
</ul>
<ul>
<li>Jake Johnson</li>
<li>Jack Robinson</li>
</ul>
concat
Надовезује два низа у један нови низ.
једна ставка дата као параметар, „concat“ враћа нови низ који се састоји од оригиналног низа са датом ставком као последњи елемент.
Шифру
Group #1: {{ group1 | join: ', ' }}
Group #2: {{ group2 | join: ', ' }}
Group #1 + Group #2: {{ group1 | concat: group2 | join: ', ' }}
Излаз
Group #1: John, Pete, Hannah
Group #2: Joan, Bill
Group #1 + Group #2: John, Pete, Hannah, Joan, Bill
except
Изаберите све објекте у низу где дати атрибут нема дату вредност. (Ово је обрнуто од where.)
Шифру
{% assign redmond = entityview.records | except: 'address1_city', 'Redmond' %}
{% for item in redmond %}
{{ item.fullname }}
{% endfor %}
Излаз
Jack Robinson
first
Враћа први елемент низа.
Први се такође може користити са специјалном ознаком тачке, у случајевима када се користи унутар ознаке.
Шифру
{% assign words = This is a run of text | split: %}
{{ words | first }}
{% if words.first == This %}
The first word is This.
{% endif %}
Излаз
This
The first word is This.
group_by
Групишите ставке у низу по датом атрибуту.
Шифру
{% assign groups = entityview.records | group_by: 'address1_city' %}
{% for group in groups %}
{{ group.key }}:
{% for item in group.items %}
{{ item.fullname }}
{% endfor %}
{% endfor %}
Излаз
Redmond:
John Smith
Dave Thomas
Jake Johnson
New York:
Jack Robinson
join
Придружи елементе низа са знаком као параметром. Резултат је једна ниска.
Шифру
{% assign words = This is a run of text | split: %}
{{ words | join: , }}
Излаз
This, is, a, run, of, text
last
Враћа последњи елемент низа.
Последњи се такође може користити са специјалном ознаком тачке, у случајевима када се користи унутар ознаке.
Шифру
{% assign words = This is a run of text | split: -%}
{{ words | last }}
{% if words.last == text -%}
The last word is text.
{% endif -%}
Излаз
text
The last word is text.
order_by
Враћа елементе низа које је поручио дати атрибут елемената у низа.
Опционално, можете да пружите опис као други параметар за сортирање елемената у опадајућем редоследу, а не у растућем.
Шифру
{{ entityview.records | order_by: 'fullname' | join: ', ' }}
{{ entityview.records | order_by: 'fullname', 'desc' | join: ', ' }}
Излаз
Dave Thomas, Jack Robinson, Jake Johnson, John Smith
John Smith, Jake Johnson, Jack Robinson, Dave Thomas
random
Враћа једну насумично изабрану ставку из низа.
Шифру
{{ group1 | join: ', ' }}
{{ group1 | random }}
Излаз
John, Pete, Hannah
Pete
select
Бира вредност датог атрибута за сваку ставку у низу и враћа те вредности као низ.
Шифру
{{ entityview.records | select: 'address1_city' | join: ', ' }}
Излаз
Redmond, New York
shuffle
Примењен на низу, враћа нови низ са истим ставкама у насумичном редоследу.
Шифру
{{ group1 | join: ', ' }}
{{ group1 | shuffle | join: ', ' }}
Излаз
John, Pete, Hannah
Hannah, John, Pete
size
Враћа број ставки у низ.
Величина се такође може користити са специјалном ознаком тачке, у случајевима када се користи унутар ознаке.
Шифру
{% assign words = This is a run of text | split: -%}
{{ words | size }}
{% if words.size == 6 -%}
The text contains 6 words.
{% endif -%}
Излаз
6
The text contains 6 words.
skip
Прескаче дати број ставки у низу и враћа остатак.
Шифру
{% assign words = This is a run of text | split: %}
{{ words | skip: 3 | join: ', ' }}
Излаз
run, of, text
take
Узима дати број ставки из низа и враћа узете ставке.
Шифру
{% assign words = This is a run of text | split: %}
{{ words | take: 3 | join: ', ' }}
Излаз
This, is, a
then_by
Додаје додатно накнадно распоређивање низу које је већ распоређено према order_by.
Опционално, можете да пружите опис као други параметар за сортирање елемената у опадајућем редоследу, а не у растућем.
Шифру
{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname' | join: ', ' }}
{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname', 'desc' | join: ', ' }}
Излаз
Dave Thomas, Jack Robinson, Jake Johnson, John Smith
John Smith, Jake Johnson, Jack Robinson, Dave Thomas
where
Изаберите све објекте у низу где дати атрибут има дату вредност.
Шифру
{% assign redmond = entityview.records | where: 'address1_city', 'Redmond' %}
{% for item in redmond %}
{{ item.fullname }}
{% endfor %}
Излаз
John Smith
Dave Thomas
Jake Johnson
Филтери датума
Филтери датума се могу користити за аритметички датум или да конвертујете вредности за DateTime у различите формате.
date
Форматира вредности за DateTime помоћу ниска .NET формата.
Стандардни низови формата датума и времена
Прилагођени низови формата датума и времена
Шифру
{{ now | date: 'g' }}
{{ now | date: 'MMMM dd, yyyy' }}
Излаз
5/7/2018 7:20 AM
May 07, 2018
date_add_days
Додаје одређени број целих и делимичних дана вредности за DateTime. Параметар може бити позитиван или негативан.
Шифру
{{ now }}
{{ now | date_add_days: 1 }}
{{ now | date_add_days: -2.5 }}
Излаз
5/7/2018 7:20:46 AM
5/8/2018 7:20:46 AM
5/4/2018 7:20:46 PM
date_add_hours
Додаје одређени број целих и делимичних сати вредности за DateTime. Параметар може бити позитиван или негативан.
Шифру
{{ now }}
{{ now | date_add_hours: 1 }}
{{ now | date_add_hours: -2.5 }}
Излаз
5/7/2018 7:20:46 AM
5/7/2018 8:20:46 AM
5/7/2018 4:50:46 AM
date_add_minutes
Додаје одређени број целих и делимичних сати вредности за DateTime. Параметар може бити позитиван или негативан.
Шифру
{{ now }}
{{ now | date_add_minutes: 10 }}
{{ now | date_add_minutes: -2.5 }}
Излаз
5/7/2018 7:20:46 AM
5/7/2018 7:30:46 AM
5/7/2018 7:18:16 AM
date_add_months
Додаје одређени број целих месеци вредности за DateTime. Параметар може бити позитиван или негативан.
Шифру
{{ now }}
{{ now | date_add_months: 1 }}
{{ now | date_add_months: -2 }}
Излаз
5/7/2018 7:20:46 AM
6/7/2018 7:20:46 AM
3/7/2018 7:20:46 AM
date_add_seconds
Додаје одређени број целих и делимичних секунди вредности за DateTime. Параметар може бити позитиван или негативан.
Шифру
{{ now }}
{{ now | date_add_seconds: 10 }}
{{ now | date_add_seconds: -1.25 }}
Излаз
5/7/2018 7:20:46 AM
5/7/2018 7:20:56 AM
5/7/2018 7:20:45 AM
date_add_years
Додаје одређени број целих година вредности за DateTime. Параметар може бити позитиван или негативан.
Шифру
{{ now }}
{{ now | date_add_years: 1 }}
{{ now | date_add_years: -2 }}
Излаз
5/7/2018 7:20:46 AM
5/7/2019 7:20:46 AM
5/7/2016 7:20:46 AM
date_to_iso8601
Форматира вредност DateTime у складу са стандардом ISO 8601. Користан приликом креирања Atom фидова или са HTML5 <time> елементом.
Шифру
{{ now | date_to_iso8601 }}
Излаз
2018-05-07T07:20:46Z
date_to_rfc822
Форматира вредност ДатеТиме у складу са РФЦ 822 стандардом . Користан приликом креирања RSS фидова.
Шифру
{{ now | date_to_rfc822 }}
Излаз
Mon, 07 May 2018 07:20:46 Z
Escape филтери
Escape секвенце обезбеђују начин укључивања специјалних знакова у ниске без неусаглашености са редовним тумачењем тих знакова помоћу програмског језика или формата.
Следећи escape филтери замењују знакове ниске escape секвенцама или уклањају неважеће знакове ниске на основу одредишног типа.
Побегне
HTML-излаз из ниске.
Шифру
{{ '<p>test</p>' | escape }}
Излаз
<p>test</p>
html_safe_escape
Покрива дату HTML ниску безбедним HTML фрагментом.
Шифру
{{ '<img src="images/myimage.jpg" onerror="alert(1);">' | html_safe_escape }}
Излаз
<img src="images/myimage.jpg">
урл_есцапе
URI-escape ниске, за укључење у URL.
Шифру
{{ 'This & that//' | url_escape }}
Излаз
This+%26+that%2F%2F
xмл_есцапе
XML-escape ниске, за укључење у XML излаз.
Шифру
{{ '<p>test</p>' | xml_escape }}
Излаз
<p>test</p>
Филтери листе
Филтери листе се користе за рад са одређеним вредностима ентитета entitylist и за креирање приказа листа.
current_sort
Са датим изразом сортирања, враћа тренутни смер сортирања за дати атрибут.
Шифру
{{ 'name ASC, createdon DESC' | current_sort: 'createdon' }}
Излаз
DESC
metafilters
Анализира JSON вредност entitylist filter_definition у групним објектима са опцијом филтрирања.
метафилтери могу опционално бити опремљени актуелним упитом филтера атрибута и актуелном вредношћу entitylist, омогућавајући да враћени објекти филтера буду означени као изабрани или неизабрани.
Шифру
{% assign filters = entitylist | metafilters: params.mf, entityview %}
{% if filters.size > 0 %}
<ul id=entitylist-filters>
{% for filter in filters %}
<li class=entitylist-filter-option-group>
{% if filter.selection_mode == 'Single' %}
{% assign type = 'radio' %}
{% else %}
{% assign type = 'checkbox' %}
{% endif %}
<h4 class=entitylist-filter-option-group-label
data-filter-id={{ filter.id | h }}>
{{ filter.label | h }}
</h4>
<ul>
{% for option in filter.options %}
<li class=entitylist-filter-option>
{% if option.type == 'text' %}
<div class=input-group entitylist-filter-option-text>
<span class=input-group-addon>
<span class=fa fa-filter aria-hidden=true></span>
</span>
<input class=form-control
type=text
name={{ filter.id | h }}
value={{ option.text | h }} />
</div>
{% else %}
<div class={{ type | h }}>
<label>
<input
type={{ type | h }}
name={{ filter.id | h }}
value={{ option.id | h }}
{% if option.checked %}
checked=checked
data-checked=true{% endif %}
/>
{{ option.label | h }}
</label>
</div>
{% endif %}
</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
<button class=btn btn-default data-serialized-query=mf data-target=#entitylist-filters>Apply Filters</button>
{% endif %}
reverse_sort
Са датим смером сортирања, враћа супротни смер сортирања.
Шифру
<!-- Sort direction is not case-sensitive -->
{{ 'ASC' | reverse_sort }}
{{ 'desc' | reverse_sort }}
Излаз
DESC
ASC
Математички филтери
Математички филтери вам омогућавају да обављате математичке операције на бројевима.
Као са филтерима, математичке филтере можете уланчавати и примењују се редоследом слева надесно.
Шифру
{{ 10 | times: 2 | minus: 5 | divided_by: 3 }}
Излаз
5
ceil
Заокружује вредност нагоре на најближу целобројну вредност.
Шифру
{{ 4.6 | ceil }}
{{ 4.3 | ceil }}
Излаз
5
5
divided_by
Дели број другим бројем.
Шифру
{{ 10 | divided_by: 2 }}
{{ 10 | divided_by: 3 }}
{{ 10.0 | divided_by: 3 }}
Излаз
5
3
3.333333
floor
Заокружује вредност надоле на најближу целобројну вредност.
Шифру
{{ 4.6 | floor }}
{{ 4.3 | floor }}
Излаз
4
4
minus
Одузима један број од другог броја.
Шифру
<!-- entityview.page = 11 -->
{{ entityview.page | minus: 1 }}
{{ 10 | minus: 1.1 }}
{{ 10.1 | minus: 1 }}
Излаз
10
9
9.1
modulo
Дели број другим бројем и враћа остатак.
Шифру
{{ 12 | modulo: 5 }}
Излаз
2
plus
Додаје број другом броју.
Шифру
<!-- entityview.page = 11 -->
{{ entityview.page | plus: 1 }}
{{ 10 | plus: 1.1 }}
{{ 10.1 | plus: 1 }}
Излаз
12
11
11.1
round
Заокружује вредност на најближи цео број или наведени број децимала.
Шифру
{{ 4.6 | round }}
{{ 4.3 | round }}
{{ 4.5612 | round: 2 }}
Излаз
5
4
4.56
times
Множи број са другим бројем.
Шифру
{{ 10 | times: 2 }}
{{ 10 | times: 2.2 }}
{{ 10.1 | times: 2 }}
Излаз
20
20
20.2
Филтери ниске
Филтери ниске рукују нискама.
append
Додаје ниску на крају друге ниске.
Шифру
{{ 'filename' | append: '.js' }}
Излаз
filename.js
Велика Британија
Пише великим словом сваку реч у низу.
Шифру
{{ 'capitalize me' | capitalize }}
Излаз
Capitalize Me
Довнцасе
Конвертује ниску у мала слова.
Шифру
{{ 'MIxed Case TExt' | downcase }}
Излаз
mixed case text
неwлине_то_бр
Уноси <br /> ознаку за прелом реда HTML садржаја на сваком прелому реда у ниски.
Шифру
{% capture text %}
A
B
C
{% endcapture %}
{{ text | newline_to_br }}
Излаз
A<br />
B<br />
C<br />
садржина
Додаје ниску на почетак друге ниске.
Шифру
{{ 'Jane Johnson' | prepend: 'Dr. ' }}
Излаз
Dr. Jane Johnson
Уклоните
Уклања сва појављивања подниске из ниске.
Шифру
{{ 'Hello, Dave. How are you, Dave?' | remove: 'Dave' }}
Излаз
Hello, . How are you, ?
ремове_фирст
Уклања прво појављивање подниске из ниске.
Шифру
{{ 'Hello, Dave. How are you, Dave?' | remove_first: 'Dave' }}
Излаз
Hello, . How are you, Dave?
Замени
Замењује сва појављивања ниске подниском.
Шифру
{{ 'Hello, Dave. How are you, Dave?' | replace: 'Dave', 'John' }}
Излаз
Hello, John. How are you, John?
реплаце_фирст
Замењује прво појављивање ниске подниском.
Шифру
{{ 'Hello, Dave. How are you, Dave?' | replace_first: 'Dave', 'John' }}
Излаз
Hello, John. How are you, Dave?
Поделимо
Филтер split преузима подниску као параметар. Подниска се користи као сепаратор за дељење ниске у низ.
Шифру
{% assign words = This is a demo of the split filter | split: ' ' %}
First word: {{ words.first }}
First word: {{ words[0] }}
Second word: {{ words[1] }}
Last word: {{ words.last }}
All words: {{ words | join: ', ' }}
Излаз
First word: This
First word: This
Second word: is
Last word: filter
All words: This, is, a, demo, of, the, split, filter
стрип_хтмл
Приказује све HTML ознаке из ниске.
Шифру
<p>Hello</p>
Излаз
Hello
стрип_неwлинес
Приказује све преломе из ниске.
Шифру
{% capture text %}
A
B
C
{% endcapture %}
{{ text | strip_newlines }}
Излаз
ABC
теxт_то_хтмл
Форматира ниску са чистим текстом као једноставан HTML. Текст је кодирани HTML садржај, блокови текста раздвојени празним редом биће окружени ознакама пасуса <p>, појединачни преломи редова биће замењени ознаком <br>, а URL адресе се конвертују у хипервезе.
Шифру
{{ note.notetext | text_to_html }}
Излаз
<p>This is the first paragraph of notetext. It contains a URL: <a href="https://example.com/" rel="nofollow">https://example.com</a></p>
<p>This is a second paragraph.</p>
Скратите
Скраћује ниску на дати број знакова. Три тачке (...) се додају нисци и укључују се у број знакова.
Шифру
{{ 'This is a long run of text.' | truncate: 10 }}
Излаз
This is...
трунцате_wордс
Скраћује ниску на дати број речи. Три тачке (...) се додају у нескраћеној нисци.
Шифру
{{ 'This is a long run of text.' | truncate_words: 3 }}
Излаз
This is a...
садржина
Конвертује ниску у велика слова.
Шифру
{{ 'MIxed Case TExt' | upcase }}
Излаз
MIXED CASE TEXT
Филтери типова
Филтери типова вам омогућавају вам да конвертујете вредности једног типа у друге типове.
Булову
Покушава да вредност ниске конвертује у логичку. Ако је вредност већ логичка, враћа се непромењена. Ако вредност не може да буде конвертована у логичку, вратиће се вредност null.
Овај филтер ће такође прихватити „укључено“, „омогућено“ или „да“ као тачне вредности, као и „искључено“, „онемогућено“ и „не“ као нетачне вредности.
Шифру
{{ true | boolean }}
{{ 'false' | boolean }}
{{ 'enabled' | boolean }}
{{ settings['something/enabled'] | boolean | default: false }}
Излаз
true
false
true
false
Децимални
Покушава да конвертује вредност ниске у децимални број. Ако је вредност већ децимални број, враћа се непромењена. Ако вредност не може да буде конвертована у децимални број, вратиће се вредност null.
Шифру
{{ 10.1 | decimal }}
{{ '3.14' | decimal }}
{{ 'text' | decimal | default: 3.14 }}
Излаз
10.1
3.14
3.14
Целобројни
Покушава да конвертује вредност ниске у цео број. Ако је вредност већ цео број, враћа се непромењена. Ако вредност не може да буде конвертована у цео број, вратиће се вредност null.
Шифру
{{ 10 | integer }}
{{ '10' | integer }}
{{ '10.1' | integer }}
{{ 'text' | integer | default: 2 }}
Излаз
10
10
2
Ниске
Покушава да конвертује вредност у свој приказ ниске. Ако је вредност већ ниска, враћа се непромењена. Ако је вредност null, вратиће се вредност null.
Филтери URL адреса
Филтери URL адреса вам омогућавају правите или издвајате делове URL адреса.
адд_qуерy
Додаје URL адреси параметар ниске упита. Ако параметар већ постоји у URL адреси, вредност параметра се ажурира.
Ако се овај филтер примењује на апсолутну URL адресу, резултат је ажурирана апсолутна URL адреса. Ако се примењује на путању, резултат је ажурирана путања.
Шифру
{{ 'https://example.com/path?page=1' | add_query: 'foo', 'bar' }}
{{ '/path?page=1' | add_query: 'page', 2 }}
Излаз
https://example.com/path?page=1&foo=bar
/path?page=2
Основни
Преузима основну URL адресу за дату URL адресу.
Шифру
{{ 'https://example.com/path?foo=bar&page=2' | base }}
Излаз
https://example.com
Домажин
Преузима део хоста URL адресе.
Шифру
{{ 'https://example.com/path?foo=bar&page=2' | host }}
Излаз
example.com
Путања
Преузима део путање URL адресе.
Шифру
{{ 'https://example.com/path?foo=bar&page=2' | path }}
{{ '/path?foo=bar&page=2' | path }}
Излаз
/path
/path
патх_анд_qуерy
Преузима део путање и упита URL адресе.
Шифру
{{ 'https://example.com/path?foo=bar&page=2' | path_and_query }}
{{ '/path?foo=bar&page=2' | path_and_query }}
Излаз
/path?foo=bar&page=2
/path?foo=bar&page=2
Порт
Преузима број порта за URL адресу.
Шифру
{{ 'https://example.com/path?foo=bar&page=2' | port }}
{{ 'https://example.com/path?foo=bar&page=2' | port }}
{{ 'https://example.com:9000/path?foo=bar&page=2' | port }}
Излаз
80
443
9000
ремове_qуерy
Уклања параметар ниске упита из URL адресе. Ако параметар не постоји у URL адреси, URL адреса се враћа непромењена.
Ако се овај филтер примењује на апсолутну URL адресу, резултат је ажурирана апсолутна URL адреса. Ако се примењује на путању, резултат је ажурирана путања.
Шифру
{{ 'https://example.com/path?page=1' | remove_query: 'page' }}
{{ '/path?page=1' | remove_query: 'page' }}
Излаз
https://example.com/path
/path
Шему
Преузима део шеме URL адресе.
Шифру
{{ 'https://example.com/path?foo=bar&page=2' | scheme }}
{{ 'https://example.com/path?foo=bar&page=2' | scheme }}
Излаз
http
https
Додатни филтери
Ови филтери пружају корисну општу функционалност.
Подразумевани
Враћа подразумевану вредност за све променљиве без додељене вредности (тј. null).
Шифру
{{ snippets[Header] | default: 'My Website' }}
Излаз
<!-- If a snippet with the name Header returns null -->
My Website
филе_сизе
Примењује се на бројчану вредност која представља много бајтова, враћа величину обликоване датотеке са јединицом одговарајуће скале.
Опционално, параметар прецизности може да се проследи да би контролисао број децималних места у резултату. Подразумевана прецизност је 1.
Шифру
{{ 10000000 | file_size }}
{{ 2050 | file_size: 0 }}
{{ entity.notes.first.filesize | file_size: 2 }}
Излаз
9.5 MB
2 KB
207.14 KB
х
Обезбеђује HTML приказ атрибута. На пример, приказивање ХТМЛ репрезентације FetchXML КСМЛ атрибута упита.
Шифру
{{ samplequery.xml | h }}
Излаз
<fetch mapping="logical" count="5000" page="1" returntotalrecordcount="true"> <entity name="contact"> <attribute name="fullname" /> </entity> </fetch>
хас_роле
Примењен на корисника, враћа вредност „true“ ако корисник припада датој улози. Враћа вредност false ако није.
Шифру
{% assign is_admin = user | has_role: 'Administrators' %}
{% if is_admin %}
User is an administrator.
{% endif %}
Теиност
Приказује ниску као Liquid кôд. Овај кôд има приступ тренутном Liquid контексту извршавања (променљиве итд.).
Напомена
Овај филтер би требало да се користи са опрезом и генерално би требало да се примењује само на вредности које су у оквиру ексклузивне контроле аутора садржаја локације или других корисника у које можете имати поверење за писање Liquid кôда.
Шифру
{{ page.adx_copy | liquid }}