v7 v8

Istruzioni di pre-elaborazione

Puoi utilizzare una sintassi specifica nel contenuto della consegna per aggiungere istruzioni e creare uno script per l’URL dell’e-mail tracciata. Le istruzioni <%@ non sono JavaScript: questa sintassi è specifica di Adobe Campaign.

Si applicano solo nel contesto del contenuto della consegna. È l’unico modo per generare uno script per l’URL di un’e-mail e continuarne la tracciabilità (oltre ai parametri URL). Possono essere viste come un copia/incolla automatico applicato durante l’analisi della consegna prima di rilevare i collegamenti da tracciare.

Esistono tre tipi di istruzioni:

  • include: principalmente per fattorizzare parte del codice in opzioni, blocchi di personalizzazione, file esterni o pagine. Ulteriori informazioni
  • value: per consentire l’accesso ai campi della consegna, alle variabili di consegna e agli oggetti personalizzati caricati nella consegna. Ulteriori informazioni
  • foreach: per eseguire il loop di un array caricato come oggetto personalizzato. Ulteriori informazioni

Possono essere testati direttamente dalla procedura guidata di consegna. Vengono applicati nell’anteprima del contenuto e quando fai clic sul pulsante di tracciamento per visualizzare l’elenco degli URL.

include

I seguenti esempi sono tra i più comunemente utilizzati:

  • Inclusione del collegamento alla pagina speculare:

    <%@ include view="MirrorPage" %>
    
  • URL pagina mirror:

    View as a <a href="<%@ include view='MirrorPageUrl' %>" _label="Mirror Page" _type="mirrorPage">web page.
    
  • URL predefinito per l’annullamento dell’abbonamento:

    <%@ include option='NmsServer_URL' %>/webApp/unsub?id=<%= escapeUrl(recipient.cryptedId)%>
    
  • Altri esempi:

    <%@ include file='http://www.google.com' %>
    <%@ include file='file:///X:/france/service/test.html' %>
    <%@ include option='NmsServer_URL' %>
    

    Utilizza il pulsante di personalizzazione nella consegna guidata per ottenere la sintassi corretta.

value

Questa istruzione consente di accedere ai parametri della consegna che sono costanti per tutti i destinatari.

Sintassi:

<%@ value object="myObject" xpath="@myField" index="1" %>

Dove:

  • object: nome dell’oggetto (ad esempio: consegna, provider e così via).
    L’oggetto può essere:
    • delivery: per la consegna corrente (consulta dettagli e restrizioni nella sottosezione seguente).
    • provider: per il provider/ciclo di consegna corrente (nms:externalAccount).
    • Un oggetto script aggiuntivo: se un oggetto viene caricato nel contesto tramite: Proprietà > Personalizzazione > Aggiungere oggetti nel contesto di esecuzione.
    • Elemento del ciclo foreach: vedere Foreach sezione successiva.
  • xpath: xpath del campo.
  • index (facoltativo): se object è un array (per oggetti script aggiuntivi), indice dell’elemento nell’array (inizia da 0).

delivery oggetto 

Per la personalizzazione delle e-mail, l’oggetto di consegna è accessibile in due modi:

  • Utilizzo di JavaScript:

    <%= delivery.myField %>`.
    

    I campi personalizzati di consegna degli oggetti JavaScript non sono supportati. Funzionano nell’anteprima, ma non nell’MTA perché l’MTA può accedere solo allo schema di consegna predefinito.

  • Utilizzo di una pre-elaborazione:

    <%@ value object="delivery"
    

Attenzione

Se utilizzi quanto segue per le consegne inviate tramite mid-sourcing, il campo personalizzato @myCustomField deve essere aggiunto allo schema nms:delivery sia sulle piattaforme di marketing che su quelle di mid-sourcing:

<%@ value object="delivery" xpath="@myCustomField" %>

Per i parametri/variabili di consegna, utilizza la sintassi seguente (utilizzando l’oggetto di consegna):

<%@ value object="delivery" xpath="variables/var[@name='myVar']/@stringValue" %>

value in una sezione JavaScript

Per consentire l’utilizzo del valore <%@ nelle sezioni JavaScript, due oggetti speciali vengono sostituiti con <% e %>:

<%@ value object='startScript' %>
<%@ value object='endScript' %>

Ad esempio:

<%@ value object='startScript' %> var iMode = <%@ value object="delivery" xpath="@deliveryMode" %> if(iMode == 1) { ... } else { ... }`
`<%@ value object='endScript' %> is expanded in something like <% var iMode = 1 if(iMode == 1) { ... } else { ... } %>.

foreach

Questa istruzione consente di eseguire l’iterazione su un array di oggetti caricati nella consegna per monitorare i singoli collegamenti correlati agli oggetti.

Sintassi:

<%@ foreach object="myObject" xpath="myLink" index="3" item="myItem" %> <%@ end %>

Dove:

  • object: nome dell’oggetto da cui iniziare, in genere un oggetto script aggiuntivo, ma può essere una consegna.
  • xpath (facoltativo): xpath della raccolta su cui eseguire il ciclo. Il valore predefinito è ".", ovvero l'oggetto corrisponde all'array su cui eseguire il ciclo.
  • index (facoltativo): se xpath non è "." e l’oggetto è un array stesso, indice dell’oggetto (inizia da 0).
  • item (facoltativo): nome di un nuovo oggetto accessibile con il valore <%@ all'interno del ciclo foreach. Predefinito con il nome del collegamento nello schema.

Esempio:

Nelle proprietà/personalizzazione della consegna, carica un array di articoli e una tabella di relazione tra destinatario e articoli.

La visualizzazione di collegamenti a questi articoli può essere eseguita semplicemente con JavaScript, come segue:

<%
  for(var i=0; i<recipient.rcpArticle.length; i++ )
  {
    %><a href="http://nl.net?a.jsp?article=<%=recipient.rcpArticle[i].article.@id%>">article</a><%
  }
%>

Con questa soluzione, i collegamenti a tutti gli articoli sono tracciati senza distinzione. Puoi sapere che un destinatario ha fatto clic su un collegamento di articolo, ma non puoi sapere su quale articolo.

La soluzione consiste nel:

  1. Precarica tutti i possibili articoli in un array di script aggiuntivo della consegna - articleList[] - il che significa che deve esistere un numero finito di articoli possibili.

  2. Scrivi una funzione JavaScript all’inizio del contenuto.

    <%@ value object='startScript' %>
    function displayArticle(articleId)
    {
      <%@ foreach object="articleList" item="article" %>
        if( articleId == <% value object="article" xpath="@id" %> )
        {
          <%@ value object='endScript' %>
            <a href="http://nl.net?a.jsp?article=<%@ value object="article" xpath="@id" %>">article</a>
          <%@ value object='startScript' %>
        }
      <%@ end @%>
    }
    <%@ value object='endScript' %>
    
  3. Visualizzare l'articolo chiamando la funzione.

    <%
    for(var i=0; i<recipient.rcpArticle.length; i++ )
    {
     displayArticle(recipient.rcpArticle[i].article.@id)
    }
    %>
    

In questa pagina