Helpers gs-helpers

Standaardwaarde voor alternatieven default-value

De Default Fallback Value helper wordt gebruikt om een standaardreservewaarde terug te keren als een attribuut leeg of ongeldig is. Dit mechanisme werkt voor Profielkenmerken en Reisgebeurtenissen.

Syntaxis

Hello {%=profile.personalEmail.name.firstName ?: "there" %}!

In dit voorbeeld wordt de waarde there weergegeven als het firstName -kenmerk van dit profiel leeg of null is.

Voorwaarden if-function

De hulpfunctie if wordt gebruikt om een voorwaardelijk blok te definiëren.
Als de uitdrukkingsevaluatie waar terugkeert, wordt het blok teruggegeven anders wordt het overgeslagen.

Syntaxis

{%#if contains(profile.personalEmail.address, ".edu")%}
<a href="https://www.adobe.com/academia">Check out this link</a>

Na de hulpfunctie if kunt u een instructie else invoeren om een codeblok op te geven dat moet worden uitgevoerd als dezelfde voorwaarde false is.
De instructie elseif geeft een nieuwe voorwaarde op die moet worden getest als de eerste instructie false retourneert.

Formaat

{
    {
        {%#if condition1%} element_1
        {%else if condition2%} element_2
        {%else%} default_element
        {%/if%}
    }
}

Voorbeelden

  1. geeft verschillende opslagverbindingen terug die op voorwaardelijke uitdrukkingen worden gebaseerd

    code language-sql
    {%#if profile.homeAddress.countryCode = "FR"%}
    <a href="https://www.somedomain.com/fr">Consultez notre catalogue</a>
    {%else%}
    <a href="https://www.somedomain.com/en">Checkout our catalogue</a>
    {%/if%}
    
  2. bepaal de uitbreiding van het e-mailadres

    code language-sql
    {%#if contains(profile.personalEmail.address, ".edu")%}
    <a href="https://www.adobe.com/academia">Checkout our page for Academia personals</a>
    {%else if contains(profile.personalEmail.address, ".org")%}
    <a href="https://www.adobe.com/orgs">Checkout our page for Non Profits</a>
    {%else%}
    <a href="https://www.adobe.com/users">Checkout our page</a>
    {%/if%}
    
  3. voeg een voorwaardelijke verbinding toe

    Met de volgende bewerking voegt u een koppeling toe naar de website 'www.adobe.com/academia' voor profielen met alleen de e-mailadressen '.edu', naar de website 'www.adobe.com/org' voor profielen met de e-mailadressen '.org' en de standaard-URL 'www.adobe.com/users' voor alle andere profielen:

    code language-sql
    {%#if contains(profile.personalEmail.address, ".edu")%}
    <a href="https://www.adobe.com/academia">Checkout our page for Academia personals</a>
    {%else if contains(profile.personalEmail.address, ".org")%}
    <a href="https://www.adobe.com/orgs">Checkout our page for Non Profits</a>
    {%else%}
    <a href="https://www.adobe.com/users">Checkout our page</a>
    {%/if%}
    
  4. Voorwaardelijke inhoud die op publiekslidmaatschap wordt gebaseerd

    code language-sql
    {%#if profile.segmentMembership.get("ups").get("5fd513d7-d6cf-4ea2-856a-585150041a8b").status = "existing"%}
    Hi! Esteemed gold member. <a href="https://www.somedomain.com/gold">Checkout your exclusive perks </a>
    {%else%} if 'profile.segmentMembership.get("ups").get("5fd513d7-d6cf-4ea2-856a-585150041a8c").status = "existing"'%}
    Hi! Esteemed silver member. <a href="https://www.somedomain.com/silver">Checkout your exclusive perks </a>
    {%/if%}
    
NOTE
Meer over publiek en de segmentatieservice leren, verwijs naar deze sectie.

Tenzij unless

De hulpfunctie unless wordt gebruikt om een voorwaardelijk blok te definiëren. Als de evaluatie van de expressie false retourneert, wordt het blok gerenderd als dit tegengesteld is aan de functie if .

Syntaxis

{%#unless unlessCondition%} element_1 {%else%} default_element {%/unless%}

Voorbeeld

Enige inhoud renderen op basis van extensie e-mailadres:

{%#unless endsWith(profile.personalEmail.address, ".edu")%}
Some Normal Content
{%else%}
Some edu specific content Content
{%/unless%}

Elk each

De hulpfunctie each wordt gebruikt om een array te doorlopen.
De syntaxis van de hulplijn is {{#each ArrayName}} YourContent {{/each}}
Wij kunnen naar de individuele seriepunten verwijzen door het sleutelwoord dit binnen het blok te gebruiken. De index van het element van de array kan worden gerenderd met {{@index}} .

Syntaxis

{{#each profile.productsInCart}}
    <li>{{this.name}}</li>
{{/each}}

Voorbeeld

{{#each profile.homeAddress.city}}
  {{@index}} : {{this}}<br>
{{/each}}

Voorbeeld

Een lijst met producten weergeven die deze gebruiker in zijn winkelwagentje heeft:

{{#each profile.products as |product|}}
    <li>{{product.productName}} {{product.productRating}}</li>
{{/each}}

Met with

De with helper wordt gebruikt om het evaluatietoken van malplaatje-deel te veranderen.

Syntaxis

{{#with profile.person.name}}
{{this.firstName}} {{this.lastName}}
{{/with}}

De hulpfunctie with is nuttig om ook een sneltoetsvariabele te definiëren.

Voorbeeld

Wordt gebruikt met voor het aliasing van lange variabelenamen naar kortere namen:

{{#with profile.person.name as |name|}}
 Hi {{name.firstName}} {{name.lastName}}!
 Checkout our trending products for today!
{{/with}}

Laat let

Met de functie let kan een expressie worden opgeslagen als een variabele die later in een query moet worden gebruikt.

Syntaxis

{% let variable = expression %} {{variable}}

Voorbeeld

In het volgende voorbeeld kunt u de totale som van prijzen voor producten in de winkelwagen berekenen met prijzen tussen 100 en 1000.

{% let sum = 0%}
    {{#each profile.productsInCart as |p|}}
        {%#if p.price>100 and p.price<1000%}
            {%let sum = sum + p.price %}
        {%/if%}
    {{/each}}
{{sum}}
recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76