Auxiliares gs-helpers
Valor de fallback padrão default-value
O auxiliar Default Fallback Value
será usado para retornar um valor de fallback padrão se um atributo estiver vazio ou nulo. Esse mecanismo funciona para atributos de Perfil e eventos de Jornada.
Sintaxe
Hello {%=profile.personalEmail.name.firstName ?: "there" %}!
Neste exemplo, o valor there
será exibido se o atributo firstName
desse perfil estiver vazio ou nulo.
Condições if-function
O auxiliar if
é usado para definir um bloco condicional.
Se a expressão evaluation retornar true, o bloco será renderizado, caso contrário, será ignorado.
Sintaxe
{%#if contains(profile.personalEmail.address, ".edu")%}
<a href="https://www.adobe.com/academia">Check out this link</a>
Após o auxiliar if
, você pode inserir uma instrução else
para especificar um bloco de código a ser executado, se a mesma condição for falsa.
A instrução elseif
especificará uma nova condição para testar se a primeira instrução retorna false.
Formato
{
{
{%#if condition1%} element_1
{%else if condition2%} element_2
{%else%} default_element
{%/if%}
}
}
Exemplos
-
Renderizar diferentes links de repositório com base em expressões condicionais
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%}
-
Determinar extensão de endereço de email
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%}
-
Adicionar um link condicional
A operação a seguir adicionará um link para o site 'www.adobe.com/academia' para perfis com endereços de email '.edu' somente, para o site 'www.adobe.com/org' para perfis com endereços de email '.org' e o URL padrão 'www.adobe.com/users' para todos os outros perfis:
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%}
-
Conteúdo condicional com base na associação ao público-alvo
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%}
Unless unless
O auxiliar unless
é usado para definir um bloco condicional. Por oposição ao auxiliar The if
, se a avaliação da expressão retornar false, o bloco será renderizado.
Sintaxe
{%#unless unlessCondition%} element_1 {%else%} default_element {%/unless%}
Exemplo
Renderize algum conteúdo com base na extensão de endereço de email:
{%#unless endsWith(profile.personalEmail.address, ".edu")%}
Some Normal Content
{%else%}
Some edu specific content Content
{%/unless%}
Each each
O auxiliar each
é usado para iterar sobre uma matriz.
A sintaxe do auxiliar é {{#each ArrayName}}
YourContent {{/each}}
Podemos fazer referência a itens de matriz individuais usando a palavra-chave this dentro do bloco. O índice do elemento da matriz pode ser renderizado usando {{@index}}.
Sintaxe
{{#each profile.productsInCart}}
<li>{{this.name}}</li>
{{/each}}
Exemplo
{{#each profile.homeAddress.city}}
{{@index}} : {{this}}<br>
{{/each}}
Exemplo
Renderize uma lista de produtos que este usuário tem em seu carrinho:
{{#each profile.products as |product|}}
<li>{{product.productName}} {{product.productRating}}</li>
{{/each}}
With with
O auxiliar with
é usado para alterar o token de avaliação da parte do modelo.
Sintaxe
{{#with profile.person.name}}
{{this.firstName}} {{this.lastName}}
{{/with}}
O auxiliar with
é útil também para definir uma variável de atalho.
Exemplo
Use com para suavizar nomes de variáveis longos para nomes mais curtos:
{{#with profile.person.name as |name|}}
Hi {{name.firstName}} {{name.lastName}}!
Checkout our trending products for today!
{{/with}}
Let let
A função let
permite que uma expressão seja armazenada como uma variável a ser usada posteriormente em uma consulta.
Sintaxe
{% let variable = expression %} {{variable}}
Exemplo
O exemplo a seguir permite calcular a soma total dos preços dos produtos no carrinho com preços entre 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}}