Dela via


Tillgängliga Liquid-filter

Flytande filter används för att ändra resultatet av strängar, tal, variabler och objekt. De är åtskilda från det värde som de som används till av ett |.

{{ 'hal 9000' | upcase }} <!-- Output: HAL 9000 -->

Vissa filter accepterar parametrar. Filter kan också kombineras och tillämpas i ordning från vänster till höger.

{{ 2 | times: 2 | minus: 1 }} <!-- Output: 3 -->

{{ "Hello, " | append: user.firstname }} <!-- Output: Hello, Dave -->

Nedanstående avsnitt beskriver olika filter.

Matrisfilter

Matrisfilter används för att arbeta med matriser.

batch

Delar upp en matris i flera matriser av en viss storlek.

Kod

{% assign batches = entityview.records | batch: 2 %}

{% for batch in batches %}

<ul>

{% for item in batch %}

<li>{{ item.fullname }}</li>

{% endfor %}

</ul>

{% endfor %}

Utgående

<ul>

<li>John Smith</li>

<li>Dave Thomas</li>

</ul>

<ul>

<li>Jake Johnson</li>

<li>Jack Robinson</li>

</ul>

concat

Sammanfogar två matriser till en ny matris.

Om ett enstaka objekt anges som en parameter returnerar concat en ny matris som består av den ursprungliga matrisen med det angivna objektet som sista element.

Kod

Group #1: {{ group1 | join: ', ' }}

Group #2: {{ group2 | join: ', ' }}

Group #1 + Group #2: {{ group1 | concat: group2 | join: ', ' }}

Utgående

Group #1: John, Pete, Hannah

Group #2: Joan, Bill

Group #1 + Group #2: John, Pete, Hannah, Joan, Bill

förutom

Markera alla objekt i en matris där ett visst attribut inte har ett givet värde. (Detta är det inverterade värdet av där.)

Kod

{% assign redmond = entityview.records | except: 'address1_city', 'Redmond' %}

{% for item in redmond %}

{{ item.fullname }}

{% endfor %}

Output

Jack Robinson

Första

Returnerar det första elementet i en matris.

"första" kan också användas med en särskild punktmarkering i de fall där den ska användas i en tagg.

Kod

{% assign words = This is a run of text | split:   %}

{{ words | first }}

{% if words.first == This %}

The first word is This.

{% endif %}

Utgående

This

The first word is This.

gruppera_efter

Gruppera element i en matris efter ett visst attribut.

Kod

{% assign groups = entityview.records | group_by: 'address1_city' %}

{% for group in groups %}

{{ group.key }}:

{% for item in group.items %}

{{ item.fullname }}

{% endfor %}

{% endfor %}

Utgående

Redmond:

John Smith

Dave Thomas

Jake Johnson

New York:

Jack Robinson

anslut

Ansluter elementen i en matris till tecknet som skickas som parameter. Resultatet är en enda sträng.

Kod

{% assign words = This is a run of text | split:   %}

{{ words | join: ,  }}

Utgående

This, is, a, run, of, text

senaste

Returnerar det sista elementet i en matris.

"sista" kan också användas med en särskild punktmarkering i de fall där den ska användas i en tagg.

Code

{% assign words = This is a run of text | split:   -%}

{{ words | last }}

{% if words.last == text -%}

The last word is text.

{% endif -%}

Output

text

The last word is text.

order_by

Returnerar element i en matris som beställts av ett visst attribut i elementen i matrisen.

Du kan också ange "desc" som en andra parameter om du vill sortera elementen i fallande ordning i stället för stigande.

Kod

{{ entityview.records | order_by: 'fullname' | join: ', ' }}

{{ entityview.records | order_by: 'fullname', 'desc' | join: ', ' }}

Output

Dave Thomas, Jack Robinson, Jake Johnson, John Smith

John Smith, Jake Johnson, Jack Robinson, Dave Thomas

slumpmässig

Returnerar ett slumpmässigt valt objekt från matrisen.

Kod

{{ group1 | join: ', ' }}

{{ group1 | random }}

Output

John, Pete, Hannah

Pete

välj

Väljer värdet för ett visst attribut för varje element i en matris och returnerar dessa värden som en matris.

Kod

{{ entityview.records | select: 'address1_city' | join: ', ' }}

Utgående

Redmond, New York

blanda

Tillämpas till en matris, som returnerar en ny matris med samma objekt i slumpmässig ordning.

Kod

{{ group1 | join: ', ' }}

{{ group1 | shuffle | join: ', ' }}

Utgående

John, Pete, Hannah

Hannah, John, Pete

storlek

Returnerar antalet objekt i en matris.

"storlek" kan också användas med en särskild punktmarkering i de fall där den ska användas i en tagg.

Kod

{% assign words = This is a run of text | split:   -%}

{{ words | size }}

{% if words.size == 6 -%}

The text contains 6 words.

{% endif -%}

Utgående

6

The text contains 6 words.

hoppa över

Hoppar över ett givet antal objekt i en matris och returnerar resten.

Kod

{% assign words = This is a run of text | split:   %}

{{ words | skip: 3 | join: ', ' }}

Utgående

run, of, text

ta

Tar ett givet antal objekt från matrisen och returnerar de tagna objekten.

Kod

{% assign words = This is a run of text | split:   %}

{{ words | take: 3 | join: ', ' }}

Output


This, is, a

then_by

Lägger till extra efterföljande ordning till en matris som redan har ordnats order_by.

Du kan också ange "desc" som en andra parameter om du vill sortera elementen i fallande ordning i stället för stigande.

Kod

{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname' | join: ', ' }}

{{ entityview.records | order_by: 'address1_city' | then_by: 'fullname', 'desc' | join: ', ' }}

Utgående

Dave Thomas, Jack Robinson, Jake Johnson, John Smith

John Smith, Jake Johnson, Jack Robinson, Dave Thomas

där

Markera alla objekt i en matris där ett visst attribut har ett givet värde.

Kod

{% assign redmond = entityview.records | where: 'address1_city', 'Redmond' %}

{% for item in redmond %}

{{ item.fullname }}

{% endfor %}

Utgående

John Smith

Dave Thomas

Jake Johnson

Datumfilter

Datumfilter kan användas för datumberäkning eller för att konvertera DatumTid-värdet till olika format.

datum

Formaterar ett DatumTid-värde med en .NET-formatsträng.

Standardformatsträngar för datum och tid

Anpassade formatsträngar för datum och tid

Code

{{ now | date: 'g' }}

{{ now | date: 'MMMM dd, yyyy' }}

Output

5/7/2018 7:20 AM

May 07, 2018

date_add_days

Lägger till det angivna antalet av kompletta eller delade dagar till DatumTid-värdet. Parametern kan vara positiv eller negativ.

Code

{{ now }}

{{ now | date_add_days: 1 }}

{{ now | date_add_days: -2.5 }}

Output

5/7/2018 7:20:46 AM

5/8/2018 7:20:46 AM

5/4/2018 7:20:46 PM

date_add_hours

Lägger till det angivna antalet av kompletta eller delade timmar till DatumTid-värdet. Parametern kan vara positiv eller negativ.

Code

{{ now }}

{{ now | date_add_hours: 1 }}

{{ now | date_add_hours: -2.5 }}

Output

5/7/2018 7:20:46 AM

5/7/2018 8:20:46 AM

5/7/2018 4:50:46 AM

date_add_minutes

Lägger till det angivna antalet av kompletta eller delade minuter till DatumTid-värdet. Parametern kan vara positiv eller negativ.

Code

{{ now }}

{{ now | date_add_minutes: 10 }}

{{ now | date_add_minutes: -2.5 }}

Output

5/7/2018 7:20:46 AM

5/7/2018 7:30:46 AM

5/7/2018 7:18:16 AM

date_add_months

Lägger till det angivna antalet av kompletta eller delade månader till DatumTid-värdet. Parametern kan vara positiv eller negativ.

Code

{{ now }}

{{ now | date_add_months: 1 }}

{{ now | date_add_months: -2 }}

Output

5/7/2018 7:20:46 AM

6/7/2018 7:20:46 AM

3/7/2018 7:20:46 AM

date_add_seconds

Lägger till det angivna antalet av kompletta eller delade sekunder till DatumTid-värdet. Parametern kan vara positiv eller negativ.

Code

{{ now }}

{{ now | date_add_seconds: 10 }}

{{ now | date_add_seconds: -1.25 }}

Output

5/7/2018 7:20:46 AM

5/7/2018 7:20:56 AM

5/7/2018 7:20:45 AM

date_add_years

Lägger till det angivna antalet av kompletta eller delade år till DatumTid-värdet. Parametern kan vara positiv eller negativ.

Code

{{ now }}

{{ now | date_add_years: 1 }}

{{ now | date_add_years: -2 }}

Output

5/7/2018 7:20:46 AM

5/7/2019 7:20:46 AM

5/7/2016 7:20:46 AM

date_to_iso8601

Formaterar ett DatumTid-värde enligt ISO 8601-standard. Detta är användbart när du skapar Atom-flöden eller HTML-<tids>element.

Code

{{ now | date_to_iso8601 }}

Output

2018-05-07T07:20:46Z

date_to_rfc822

Formaterar ett DatumTid-värde enligt RFC 822-standard. Detta är användbart när du skapar RSS-flöden.

Kod

{{ now | date_to_rfc822 }}

Output

Mon, 07 May 2018 07:20:46 Z

Undantagsfilter

Undantagssekvenser ger ett sätt att inkludera specialtecken i strängar utan att komma i konflikt med den vanliga tolkningen av dessa tecken av programmeringsspråket eller formatet.

I följande undantagsfilter ersätts strängtecken med undantagssekvenser eller så tas ogiltiga strängtecken bort beroende på måltypen.

ESC

HTML-undantar en sträng.

Kod

{{ '<p>test</p>' | escape }}

Output

&lt;p&gt;test&lt;/p&gt;

html_safe_escape

Förser en viss HTML-sträng med en säker HTML-kod.

Kod

{{ '<img src="images/myimage.jpg" onerror="alert(1);">' | html_safe_escape }}

Output

<img src="images/myimage.jpg">

url_escape

URL undantar en sträng för att inkluderas i en URL.

Code

{{ 'This & that//' | url_escape }}

Output

This+%26+that%2F%2F

xml_escape

XML undantar en sträng för att inkluderas i XML-utdata.

Kod

{{ '<p>test</p>' | xml_escape }}

Output

&lt;p&gt;test&lt;/p&gt;

Listfilter

Listfilter används för att arbeta med vissa entitetslista-attributvärden, samt för att hjälpa till med att skapa listvyer.

current_sort

Med hänsyn till ett slags uttryck returneras den aktuella sorteringsordningen för ett visst attribut.

Code

{{ 'name ASC, createdon DESC' | current_sort: 'createdon' }}

Output

DESC

metafilter

Tolkar ett entitylist filter_definition JSON-värde till gruppobjekt för filteralternativ.

metafilter kan anges med aktuell attributfiltreringsfrågan och aktuell entitetslista (tillval), vilket gör att returnerade filterobjekt kan flaggas som antingen valda eller icke valda.

Code

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

Med hänsyn till en sorteringsriktning, returneras en motsatt sorteringsriktning.

Kod

<!-- Sort direction is not case-sensitive -->

{{ 'ASC' | reverse_sort }}

{{ 'desc' | reverse_sort }}

Utgående

DESC

ASC

Matematikfilter

Matematikfilter låter dig utföra matematiska beräkningar på nummer.

Precis som med alla filter kan matematikfilter vara kedjade och tillämpas i ordning från vänster till höger.

Kod

{{ 10 | times: 2 | minus: 5 | divided_by: 3 }}

Utgående

5

ceil

Avrundar ett värde upp till närmsta heltal.

Code

{{ 4.6 | ceil }}

{{ 4.3 | ceil }}

Output

5

5

divided_by

Dividerar ett tal med ett annat.

Code

{{ 10 | divided_by: 2 }}

{{ 10 | divided_by: 3 }}

{{ 10.0 | divided_by: 3 }}

Output

5

3

3.333333

floor

Avrundar ett värde ned till närmsta heltal.

Kod

{{ 4.6 | floor }}

{{ 4.3 | floor }}

Utgående

4

4

minus

Subtraherar ett tal från ett annat.

Kod

<!-- entityview.page = 11 -->

{{ entityview.page | minus: 1 }}

{{ 10 | minus: 1.1 }}

{{ 10.1 | minus: 1 }}

Utgående

10

9

9.1

modul

Dividerar ett tal med ett annat tal och returnerar resten.

Kod

{{ 12 | modulo: 5 }}

Utgående

2

plus

Lägger till ett tal med ett annat tal.

Kod

<!-- entityview.page = 11 -->

{{ entityview.page | plus: 1 }}

{{ 10 | plus: 1.1 }}

{{ 10.1 | plus: 1 }}

Utgående

12

11

11.1

avrunda

Avrundar värdet till närmaste heltal eller angivet antal decimaler.

Kod

{{ 4.6 | round }}

{{ 4.3 | round }}

{{ 4.5612 | round: 2 }}

Utgående

5

4

4.56

gånger

Multiplicerar ett tal med ett annat.

Code

{{ 10 | times: 2 }}

{{ 10 | times: 2.2 }}

{{ 10.1 | times: 2 }}

Utdata

20

20

20.2

Strängfilter

Strängfilter ändrar strängar.

append

Lägger till en sträng i slutet av en annan sträng.

Kod

{{ 'filename' | append: '.js' }}

Output

filename.js

versaler

gör alla ord i en sträng till versal.

Kod

{{ 'capitalize me' | capitalize }}

Output

Capitalize Me

gemener

Konverterar en sträng till gemener.

Kod

{{ 'MIxed Case TExt' | downcase }}

Output

mixed case text

newline_to_br

Infogar en <br />-radbrytningstagg i HTML-taggen vid varje radbrytning i en sträng.

Kod

{% capture text %}

A

B

C

{% endcapture %}

{{ text | newline_to_br }}

Utgående

A<br />

B<br />

C<br />

lägg till

Lägger till en sträng i början av en annan sträng.

Kod

{{ 'Jane Johnson' | prepend: 'Dr. ' }}

Utgående

Dr. Jane Johnson

ta bort

Ta bort alla förekomster av en delsträng från en sträng.

Code

{{ 'Hello, Dave. How are you, Dave?' | remove: 'Dave' }}

Output

Hello, . How are you, ?

remove_first

Tar bort alla första förekomster av en delsträng från en sträng.

Kod

{{ 'Hello, Dave. How are you, Dave?' | remove_first: 'Dave' }}

Utgående

Hello, . How are you, Dave?

ersätt

Ersätter alla förekomster av en sträng med en delsträng.

Code

{{ 'Hello, Dave. How are you, Dave?' | replace: 'Dave', 'John' }}

Output

Hello, John. How are you, John?

replace_first

Ersätter de första förekomsterna av en sträng med en delsträng.

Kod

{{ 'Hello, Dave. How are you, Dave?' | replace_first: 'Dave', 'John' }}

Utgående

Hello, John. How are you, Dave?

dela

Dela-filtret behandlar delsträng som en parameter. Delsträngen används som avgränsare för att dela upp en sträng i en matris.

Code

{% 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: ', ' }}

Output

First word: This

First word: This

Second word: is

Last word: filter

All words: This, is, a, demo, of, the, split, filter

strip_html

Drar av all HTML-kod från en sträng.

Code

<p>Hello</p>

Output

Hello

strip_newlines

Drar av alla radbrytningar från en sträng.

Code

{% capture text %}

A

B

C

{% endcapture %}

{{ text | strip_newlines }}

Output

ABC

text_to_html

Formaterar en vanlig textsträng som enkel HTML. Text är HTML-kodad, textblock separerade med en tom rad kommer att omslutas i punkt-taggar <p>, enstaka radbrytningar ersätts med <br>, och URL-adresser konverteras till hyperlänkar.

Kod

{{ note.notetext | text_to_html }}

Output

<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>

trunkera

Trunkerar en sträng till ett visst antal tecken. Tre punkter (...) läggs till strängen och ingår i teckenberäkning.

Code

{{ 'This is a long run of text.' | truncate: 10 }}

Output

This is...

truncate_words

Trunkerar en sträng till ett visst antal ord. Tre punkter (...) läggs till den trunkerade strängen.

Kod

{{ 'This is a long run of text.' | truncate_words: 3 }}

Output

This is a...

versal

Konverterar en sträng till versaler.

Kod

{{ 'MIxed Case TExt' | upcase }}

Output

MIXED CASE TEXT

Typfilter

Typfilter låter dig konvertera värden av en viss typ till andra typer.

boolesk

Försök att konvertera ett strängvärde till ett booleskt värde. Om värdet är redan ett booleskt värde, returneras det oförändrat. Om värdet inte kan konverteras till ett booleskt värde kommer "null" att returneras.

Det här filtret accepterar också "på", "aktiverad" eller "ja" som "true", och "av", "avaktiverad" och "nej" som "false".

Code

{{ true | boolean }}

{{ 'false' | boolean }}

{{ 'enabled' | boolean }}

{{ settings['something/enabled'] | boolean | default: false }}

Utgående

true

false

true

false

decimal

Försök att konvertera ett strängvärde till ett decimalnummer. Om värdet är redan ett decimalnummer, returneras det oförändrat. Om värdet inte kan konverteras till ett decimalnummer kommer "null" att returneras.

Kod

{{ 10.1 | decimal }}

{{ '3.14' | decimal }}

{{ 'text' | decimal | default: 3.14 }}

Utgående

10.1

3.14

3.14

heltal

Försöker att konvertera ett strängvärde till ett heltal. Om värdet är redan ett heltal, returneras det oförändrat. Om värdet inte kan konverteras till ett heltal kommer "null" att returneras.

Kod

{{ 10 | integer }}

{{ '10' | integer }}

{{ '10.1' | integer }}

{{ 'text' | integer | default: 2 }}

Output

10

10

2

string

Försök att konvertera ett värde till dess strängrepresentation. Om värdet redan är ett strängvärde, returneras det oförändrat. Om värdet är "null", kommer "null" att returneras.

URL-filter

URL-filter låter dig skapa eller extrahera delar av URL-adresser.

add_query

Lägger till en frågesträngparameter till en URL. Om parametern redan finns i URL-adressen, kommer parametervärdet att uppdateras.

Om filtret används till en fullständig absolut URL, blir resultatet en uppdaterad absolut URL. Om den används på en sökväg, blir resultatet en uppdaterad sökväg.

Kod

{{ 'https://example.com/path?page=1' | add_query: 'foo', 'bar' }}

{{ '/path?page=1' | add_query: 'page', 2 }}

Output

https://example.com/path?page=1&foo=bar

/path?page=2

bas

Hämtar en bas-URL från en viss URL.

Kod

{{ 'https://example.com/path?foo=bar&page=2' | base }}

Utgående

https://example.com

värd

Hämtar värddelen av en URL.

Code

{{ 'https://example.com/path?foo=bar&page=2' | host }}

Output

example.com

sökväg

Hämtar sökvägsdelen av en URL.

Code

{{ 'https://example.com/path?foo=bar&page=2' | path }}

{{ '/path?foo=bar&page=2' | path }}

Output

/path

/path

path_and_query

Hämtar sökväg- och frågedelen av en URL.

Code

{{ 'https://example.com/path?foo=bar&page=2' | path_and_query }}

{{ '/path?foo=bar&page=2' | path_and_query }}

Output

/path?foo=bar&page=2

/path?foo=bar&page=2

port

Hämtar portnumret för en URL.

Code

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

Output

80

443

9000

remove_query

Tar bort en frågesträngparameter från en URL. Om parametern inte finns med i URL-adressen returneras URL oförändrat.

Om filtret används till en fullständig absolut URL, blir resultatet en uppdaterad absolut URL. Om den används på en sökväg, blir resultatet en uppdaterad sökväg.

Kod

{{ 'https://example.com/path?page=1' | remove_query: 'page' }}

{{ '/path?page=1' | remove_query: 'page' }}

Output

https://example.com/path

/path

schema

Hämtar schemadelen av en URL.

Kod

{{ 'https://example.com/path?foo=bar&page=2' | scheme }}

{{ 'https://example.com/path?foo=bar&page=2' | scheme }}

Utgående

http

https

Ytterligare filter

Dessa filter ger användbara allmänna funktioner.

standard

Returnerar ett standardvärde för alla variabler utan tilldelat värde (dvs. "null").

Kod

{{ snippets[Header] | default: 'My Website' }}

Output

<!-- If a snippet with the name Header returns null -->

My Website

file_size

Tillämpas på ett numeriskt värde som representerar ett antal byte, returnerar en formaterad filstorlek med en enhet i lämplig skala.

Alternativt kan en precisionsparameter skickas, om du vill styra antalet decimaler i resultatet. Standardprecision är 1.

Kod

{{ 10000000 | file_size }}

{{ 2050 | file_size: 0 }}

{{ entity.notes.first.filesize | file_size: 2 }}

Output

9.5 MB

2 KB

207.14 KB

h

Ger en HTML-representation av ett attribut. Exempelvis visas en HTML-representation av FetchXML-frågans XML-attribut.

Kod

{{ samplequery.xml | h }}

Output

<fetch mapping="logical" count="5000" page="1" returntotalrecordcount="true"> <entity name="contact"> <attribute name="fullname" /> </entity> </fetch>

has_role

Tillämpas på en användare, returnerar "true" om användaren tillhör en viss roll. Returnerar annars "false".

Kod

{% assign is_admin = user | has_role: 'Administrators' %}

{% if is_admin %}

User is an administrator.

{% endif %}

liquid

Återger en sträng som preliminär kod. Den här koden har åtkomst till den aktuella preliminära körningskontexten (variabler, etc.).

Kommentar

Det här filtret bör användas med försiktighet och bör i allmänhet endast användas för värden som är under exklusiv kontroll av webbplats innehållsförfattare eller andra användare som är betrodda att skriva preliminär kod.

Code

{{ page.adx_copy | liquid }}

Se även