Helper gs-helpers

Valore di fallback predefinito default-value

L'helper Default Fallback Value viene utilizzato per restituire un valore di fallback predefinito se un attributo è vuoto o nullo. Questo meccanismo funziona per gli attributi del profilo e gli eventi di Percorso.

Sintassi

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

In questo esempio, il valore there viene visualizzato se l'attributo firstName di questo profilo è vuoto o nullo.

Condizioni if-function

L'helper if viene utilizzato per definire un blocco condizionale.
Se la valutazione dell’espressione restituisce true, il blocco viene renderizzato, altrimenti viene saltato.

Sintassi

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

Dopo l'helper if, è possibile immettere un'istruzione else per specificare un blocco di codice da eseguire, se la stessa condizione è false.
L'istruzione elseif specificherà una nuova condizione da verificare se la prima istruzione restituisce false.

Formato

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

Esempi

  1. Eseguire il rendering di collegamenti archivio diversi in base alle espressioni condizionali

    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. Determinare l'estensione dell'indirizzo di posta elettronica

    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. Aggiungere un collegamento condizionale

    La seguente operazione aggiungerà un collegamento al sito Web "www.adobe.com/academia'" solo per i profili con indirizzi e-mail "edu", al sito Web "www.adobe.com/org'" per i profili con indirizzi e-mail "org" e all’URL predefinito "www.adobe.com/users'" per tutti gli altri profili:

    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. Contenuto condizionale basato sull'appartenenza al pubblico

    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
Per ulteriori informazioni sui tipi di pubblico e sul servizio di segmentazione, consulta questa sezione.

Unless unless

L'helper unless viene utilizzato per definire un blocco condizionale. In opposizione all'helper if, se la valutazione dell'espressione restituisce false, viene eseguito il rendering del blocco.

Sintassi

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

Esempio

Esegui il rendering di alcuni contenuti in base all’estensione dell’indirizzo e-mail:

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

Each each

L'helper each viene utilizzato per eseguire l'iterazione su un array.
La sintassi dell'helper è {{#each ArrayName}} YourContent {{/each}}
È possibile fare riferimento ai singoli elementi array utilizzando la parola chiave this all'interno del blocco. È possibile eseguire il rendering dell'indice dell'elemento dell'array utilizzando {{@index}}.

Sintassi

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

Esempio

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

Esempio

Esegui il rendering di un elenco di prodotti che questo utente ha nel carrello:

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

With with

L'helper with viene utilizzato per modificare il token di valutazione della parte modello.

Sintassi

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

L'helper with è utile anche per definire una variabile di collegamento.

Esempio

Da utilizzare con per l’aliasing di nomi di variabili lunghi a nomi più brevi:

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

Let let

La funzione let consente di archiviare un'espressione come variabile da utilizzare successivamente in una query.

Sintassi

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

Esempio

L'esempio seguente consente di calcolare la somma totale dei prezzi dei prodotti nel carrello con prezzi compresi tra 100 e 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