v7
Applicabile a Campaign Classic v7
v8
Applicabile anche a Campaign v8

Istruzioni di pre-elaborazione pre-processing-instructions

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 include

I seguenti esempi sono tra i più comunemente utilizzati:

  • Inclusione del collegamento alla pagina speculare:

    code language-none
    <%@ include view="MirrorPage" %>
    
  • URL pagina mirror:

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

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

    code language-none
    <%@ 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 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  delivery-object

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

  • Utilizzo di JavaScript:

    code language-none
    <%= 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:

    code language-none
    <%@ 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 value-in-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 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.

    code language-none
    <%@ 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.

    code language-none
    <%
    for(var i=0; i<recipient.rcpArticle.length; i++ )
    {
     displayArticle(recipient.rcpArticle[i].article.@id)
    }
    %>
    
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1