CMS: CMS-expressies gebruiken om tekenreeksen te manipuleren

Leestijd 17 minuten
Gebruik CMS-expressies om het volledige potentieel van je CMS te ontgrendelen zonder het gebruik van Velo- of JS-code.
 
Met expressies kun je statische tekst combineren met dynamische waarden uit meerdere verzamelingsvelden in een enkele tekenreeks. Pas opmaak toe op dynamische datums, tijden en getallen om ze naar behoefte weer te geven. Maak wiskundige vergelijkingen die getalvelden gebruiken in hun berekeningen. Je kunt zelfs functies in dezelfde expressie combineren om eindeloze mogelijkheden te ontgrendelen.
Bekijk onze video met de ultieme CMS-gids voor een overzicht van dit proces.

Over CMS-expressiefuncties

Een CMS-expressie combineert functies, letterlijke waarden en verzamelingsveldwaarden om gegevens op je website op nieuwe manieren te presenteren. 

Na het koppelen van een ondersteund pagina-element aan een dataset, kun je de tekstwaarde(n) koppelen aan een CMS-expressie. Vervolgens maak je een expressie die bestaat uit functies, veld-ID's, tekenreeksen, getallen en andere syntaxis. De tekst in je gekoppelde element toont vervolgens de resultaten van het berekenen van de uitdrukking. 

Expressies bestaan uit de volgende structuur:

  • Functies: Definieer hoe je de waarden berekent die tussen haakjes na de functie verschijnen, met waarden gescheiden door komma's (bijvoorbeeld MULTIPLY(price, count), DAYS(_createdDate, NOW()), CONCAT("Created on", _created Date)).
  • Veld-ID's: De unieke ID's van elk verzamelingsveld (bijvoorbeeld title, _createdDate, clientName).
  • Tekenreeksen: Een reeks tekens die letters, cijfers, symbolen en spaties kan bevatten. 
    • Letterlijke tekenreeksen: Een reeks tekens tussen aanhalingstekens die wordt gebruikt om statische tekst weer te geven (bijvoorbeeld "Hallo", 'Hallo', ''Errata" van Kevin Young', "\"Errata\" van Kevin Young", "backslash is \\, forward slash is /").
    • Letterlijke getallen: Numerieke waarden die door de functie worden gebruikt (bijvoorbeeld 123, 1000, 3.14).
    • Letterlijke arrays: Een manier om een array uit te drukken. Dit is een geordende verzameling waarden, meestal van hetzelfde type, tussen vierkante haken (bijvoorbeeld 1,2,3], ["kat", "hond", "muis"]). 
  • Speciale constanten: Vooraf gedefinieerde waarden die een specifieke betekenis hebben binnen het bereik van de functie (bijvoorbeeld true, false, undefined, null). 
Houd er rekening mee dat expressies hoofdlettergevoelig zijn. Gebruik bij het gebruik van velden binnen expressies veld-ID's in plaats van veldnamen, en onthoud dat veld-ID's ook hoofdlettergevoelig zijn.

Terwijl je je expressies typt, ontvang je suggesties om je te helpen de functies en veld-ID's correct te gebruiken. Om het gemakkelijker te maken om de veld-ID's in je Editor te zien, [schakel je de Dev-modus in.
Belangrijke informatie over het schrijven van expressies:
  • Voer de veld-ID's in in plaats van de veldnamen bij het verwijzen naar verzamelingsvelden. Veld-ID's zijn unieke identificatiecodes voor elk verzamelingsveld, in tegenstelling tot veldnamen. 
  • Functies en veld-ID's zijn hoofdlettergevoelig. Let op het hoofdlettergebruik dat in beide wordt gebruikt.
  • Voor CONCAT-functies zet je 'statische' letterlijke tekenreekswaarden tussen aanhalingstekens. Dit omvat statische leestekens en spaties tussen velden waarnaar wordt verwezen. 
  • Als de functie niet werkt, controleer dan de foutmelding onderaan het Expressie-veld voor aanwijzingen over hoe je het probleem kunt oplossen.  

Elementen koppelen aan expressies in de dataset

Om aan de slag te gaan, koppel je het relevante element aan het CMS en kies je de koppelingsoptie voor expressies. Voer vervolgens de uitdrukking in die je wilt gebruiken. Zie de volgende paragrafen voor hulp bij het maken van je expressie.
Wix Editor
Editor X
Studio Editor
  1. Klik in de Editor op het element dat je aan het CMS wilt koppelen (bijvoorbeeld tekst, knop, galerij).
  2. Klik op het Aan CMS koppelen-pictogram.
  3. Klik op de Kies een dataset-dropdown en selecteer een bestaande dataset die aan je verzameling koppelt. Je kunt ook op Nieuwe dataset klikken en vervolgens de verzameling kiezen die je wilt koppelen.
  4. Klik op de relevante dropdown onder Koppelingen en selecteer Expressie
  1. Klik op het Expressie-veld.
  2. Voer de naam in van de functie die je wilt gebruiken (bijvoorbeeld CONCAT, DATE, TEXT).
    Tip: Zodra je begint te typen, kun je kiezen uit een lijst met mogelijke functies. 
  1. Typ een haakje openen: (
  2. Voer de veld-ID's of waarden in die je in de expressie wilt gebruiken. Terwijl je typt, verschijnt er een lijst met overeenkomende veld-ID's waaruit je kunt kiezen. 
  3. Typ een haakje sluiten: )

Voorbeelden van expressies

Bekijk de voorbeelden voor het schrijven van verschillende soorten expressies in de volgende gedeelten. 

Waarden uit verschillende velden combineren met behulp van tekenreeksaaneenschakeling

Gebruik de CONCAT-functie om waarden uit verschillende verzamelingsvelden te combineren in één tekstveld. Voeg je eigen tekst toe aan de functie om statische tekens te combineren met dynamische waarden. De statische tekens veranderen niet, terwijl de dynamische waarden veranderen op basis van het item dat door de dataset wordt opgehaald. Zorg ervoor dat alle statische tekst tussen aanhalingstekens staat, inclusief spaties en leestekens (bijvoorbeeld " " or ",").
 
Je kunt verschillende functies gebruiken om vergelijkbare dingen te doen, en je kunt functies ook binnen functies combineren voor meer geavanceerde taken. Als er een probleem is met de expressie, bekijk dan de foutmelding voor aanwijzingen over hoe je dit kunt oplossen.
Een voorbeeld van het gebruik van de CONCAT-functie is om aangepaste tekst te maken voor een dynamische itempagina-introductie. De tekst kan elk lid bij naam voorstellen, hun functietitel vermelden en hoe lang ze al bij het bedrijf werken. Zo zou die expressie eruit zien:
1CONCAT("Onze ",baanTitel,", ",titel," werkt hier sinds ",datum,"")
In dit voorbeeld:
Hete baanTitel-veld-ID vertegenwoordigt het verzamelingsveld met de functietitel van elk lid. De titel-veld-ID is voor het veld met de namen van elk lid. De aangenomenDatum-sleutel komt uit een veld met de startdatum van de werknemer van elk lid. Merk op hoe alle statische tekst en interpunctie tussen aanhalingstekens staat. 
Bekijk de onderstaande tabel voor meer basisvoorbeelden van het gebruik van de CONCAT-functie:
Gebruik
Expressie
Voorbeeld
Resultaat
Veldwaarden combineren zonder spaties of interpunctie
CONCAT(waarde;waarde)
CONCAT(titel;baanTitel)
Brian ChangVP Product
Combineer veldwaarden gescheiden door een komma en een spatie
CONCAT(waarde;", ",waarde)
CONCAT(titel," ",baanTitel)
Brian Chang, VP Product
Combineer statische tekst met veldwaarden
CONCAT("Hallo, ",waarde)
CONCAT("Hallo, ",titel)
Hallo, Brian Chang
Veldwaarden combineren met statische tekst aan het begin en einde
CONCAT("Hallo, ",waarde,", welkom terug.")
CONCAT("Hallo, ",titel,", welkom terug.")
Hallo, Brian Chang, welkom terug.

Datum/tijd-opmaak

Als je wilt bepalen hoe datums en tijden worden opgemaakt op je live website, of waarden wilt berekenen op basis van datums, gebruik dan datum/tijd-functies. Deze functies werken met de veldtypen Datum, Tijd en Numeriek.
In het bovenstaande voorbeeld:
De DAYS-functie retourneert het aantal dagen tussen een dynamisch vervalDatum-veld en de datum van vandaag. Merk op hoe het de DAYS-functie combineert met de TODAY-functie, evenals de CONCAT-functie die wordt gebruikt voor het samenvoegen van statische en dynamische tekst. 
Klik op de relevante functie hieronder om er meer over te lezen:

Getalnotatie met de TEXT-functie

Gebruik de TEXT-functie om opmaak op getallen toe te passen. Je kunt bijvoorbeeld waarden van een Numeriek-veldtype opmaken als een valuta of percentage. 
In het bovenstaande voorbeeld:
De TEXT-functie maakt een Numeriek-veldtype (prijs) op als een bedrag in dollars. Merk op hoe de TEXT-functie wordt ingevoegd binnen een CONCAT-functie, die de statische tekst vóór de prijs toevoegt. 
Klik hieronder voor voorbeelden van het gebruik van de TEXT-functie:

Wiskundige functies

Je kunt wiskundige functies gebruiken om berekeningen uit te voeren op basis van verschillende getalveldtypen en/of statische getallen. 
In het bovenstaande voorbeeld:
De MINUS-functie berekent 20-11=9. De 20-waarde is statisch, terwijl de Numeriek-veldwaarde (beloningPunten) dynamisch is. Merk op hoe de expressie de MINUS-functie invoegt binnen de CONCAT-functie, die statische tekst combineert met dynamische waarden. 
Bekijk de onderstaande tabel voor meer voorbeelden van het gebruik van wiskundige uitdrukkingen: 
Gebruik
Expressie
Voorbeelden
Resultaten
Bereken de som van 2 getallen
ADD(waarde;waarde)
ADD(getal1,getal2)

ADD(4,20)
24
Bereken het verschil tussen 2 getallen
MINUS(waarde;waarde)
MINUS(getal1,getal2)

MIN(100,1)
99
Berekenen vermenigvuldigd met 2 getallen
MULTIPLY(waarde;waarde)
MULTIPLY(getal1,getal2)

MULTIPLY(2,4)
6
Bereken 1 getal gedeeld door een ander
DIVIDE(waarde;waarde)
DIVIDE(getal1,getal2)

DIVIDE(10,2)
5
Retourneert 'true' als 2 waarden gelijk zijn en 'false' anders
EQ(waarde;waarde)
EQ(getal1,getal2)

EQ(200.200)
true
Een getal ('x') tot de macht van een ander getal ('y')
POW(x,y)
POW(2,3)
POW(3,3)
8
27
Controleert of twee waarden gelijk zijn
EQ (Gelijk)
EQ(5,5) 
true
Controleert of twee waarden niet gelijk zijn
NE (niet gelijk)
NE(5,7)
true
Controleert of de ene waarde groter is dan de andere
GT (groter dan)
GT(7,5)
GT(7,7)
true
false
Controleert of de ene waarde kleiner is dan de andere
LT (kleiner dan)
LT(5,7)
LT(7,5)
true
false
Controleert of een waarde groter is dan of gelijk is aan een andere
GTE (groter dan of gelijk aan)
GTE(7,5)
GTE(5,5)
GTE(5,4)
true
true
false
Controleert of een waarde kleiner is dan of gelijk is aan een andere
LTE (kleiner dan of gelijk aan)
LTE(5,7)
LTE(5,5)
LTE(5,4)
true
true
false

Veelgestelde vragen

Klik hieronder voor antwoorden op veelgestelde vragen over het gebruik van expressies. 

Vond je dit artikel nuttig?

|