Aug 17 2008

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti semaforo giallo - articolo avanzato semaforo rosso - articolo per esperti

funzioni: _addItem()

autore: Marco Cilia categoria: funzioni

La funzione di oggi serve nel caso in cui abbiamo attivato i rapporti e-commerce dalle opzioni generali del profilo, e appunto popola i relativi report. _addItem(id_ordine, sku, nome, categoria, prezzo, quantità) aggiunge un elemento acquistato da un visitatore all’oggetto di tracciamento specificato; _addItem traccia gli oggetti per sku (Stock Keeping Unit, identificativo univoco del prodotto), per cui se nella stessa sessione viene chiamata due volte per lo stesso sku, viene registrato soltanto l’ultimo oggetto. La funzione prende sei parametri, tutte stringhe, in ingresso, che più precisamente sono:

  • id_ordine: l’identificativo dell’ordine (fortemente consigliato)
  • sku: l’identificativo univoco dell’oggetto (obbligatorio)
  • nome: il nome dell’oggetto (facoltativo)
  • categoria: la categoria merceologica dell’oggetto, se presente (facoltativo)
  • prezzo: il prezzo dell’oggetto (obbligatorio)
  • quantità: il numero di oggetti acquistati (obbligatorio)

Un esempio di uso della funzione è questo:

pageTracker._addItem(
   "12345", // id_ordine
   "TA2676", //sku
   "GAin30sec", // nome
   "Libri", // categoria
   "35.99", // prezzo
   "1"  //quantità
 );

Per i parametri non obbligatori, è facoltativo solo l’inserimento del valore all’interno delle virgolette, non la presenza del parametro nella chiamata alla funzione. Per intenderci, l’esempio soprastante si può modificare così:

pageTracker._addItem(
   "12345", // id_ordine
   "TA2676", //sku
   "",
   "",
   "35.99", // prezzo
   "1"  //quantità
 );

Il parametro id_ordine è fortemente consigliato poiché le documentazioni ufficiali sono contrastanti: la mia interpretazione è che si possa omettere solo nel caso di chiamata a _addItem() senza la relativa _addTrans(), per cui in casi tutto sommato abbastanza anomali. Nelle implementazioni che ho visto il parametro era sempre presente, per cui io consiglio di inserirlo.