Open2b versione 7.5

Snippets

Si chiama snippet qualsiasi frammento di codice HTML da aggiungere al sito. Vi sarà capitato spesso di aggiungere alle pagine di un sito il codice di traccimento di un motore di ricerca o il pulsante di un social network o un un meta tag per la validazione oppure ad esempio il codice per attivare una chat.

Con gli snippet è possibile eseguire queste operazioni direttamente dall'app con JavaScript senza dover intervenire per modificare le pagine HTML del template se non per aggiungere un semplice tag nella posizione dove si vuole visualizzare lo snippet.

Abilitazione

Prima di poter utilizzare gli snippet bisogna abilitarli dal gestionale:

  1. Andare nel gestionale nella sezione Apps
  2. Fare clic su Gestisci Apps.
  3. Fare clic sulla riga dell'app.
  4. Selezionare la voce Aggiungere degli snippet alle pagine. Scegliendo anche la voce solo nell'anteprima non verranno visualizzati sul sito ma solo nell'anteprima del template.
  5. Fare clic su Salva.

Dopodiché aggiungere Admin SDK alle pagine HTML dell'app:

<script src="https://open2b.dev/admin-sdk/open2b-admin-sdk-v7.2.min.js"></script>

Metodi

Admin.Snippets.create(code, position, content, templateFiles, function(error) { … })

Crea uno snippet o sostituisce quello esistente con lo stesso codice:

Parametro Descrizione
code Codice identificativo dello snippet. Può essere lungo da 1 a 32 tra lettere e numeri, soddisfa l'espressione regolare: /^[a-zA-Z][a-zA-Z0-9]{0,31}$/.
position Posizione dello snippet nelle pagine. Può essere:
Head Viene messo appena prima di </head>
Body Viene messo appena prima di </body>
Any Può essere messo in qualsiasi posizione nella pagina utilizzando la funzione snippet:
{{ snippet(code) }}
Dove code è il codice dello snippet che si vuole visualizzare:
{{ snippet("Reviews") }}
Per le app pubblicate sullo Store il codice deve essere preceduto dal codice dell'app come in:
{{ snippet("Facebook.Like") }}
Se lo snippet con il codice indicato non esiste, non verrà inserito nulla nella pagina a parte un commento HTML con l'errore.
content Contenuto dello snippet. È il contenuto statico, generalmente in formato HTML, che sarà messo così com'è nella pagina.
templateFiles
Files del template ai quali aggiungere lo snippet. I file del template sono tutti i file con estensione .html che si trovano nella cartella principale del template. Vedere anche il Manuale Template per la lista di tutti i file comunemente presenti in un template.

Indicare null per aggiungerlo a tutti i file. Non viene ritornato nessun errore se uno dei file indicati non esiste, semplicemente non verrà mostrato in questi file.

Esempio:

Nel seguente esempio viene aggiunto uno snippet alle pagine "department.html" e "product.html" prima del tag </head>.

var html = '<style type="text/css"> h1 { color: blue; } </style>';
Admin.Snippets.create('BlueHeader', 'Head', html, [ 'department.html', 'product.html' ], 'Yes', function(error) {
    if ( error != null ) { alert(error); return; }
    // done
});

Admin.Snippets.clear(function(error) { … })

Rimuove tutti gli snippet dell'app.

Esempio:

Admin.Snippets.clear(function(error) {
    if ( error != null ) { alert(error); return; }
    // done
});

Admin.Snippets.remove(codes, function(error) { … })

Rimuove gli snippets con i codici indicati.

Esempio:

Admin.Snippets.remove([ 'BlueHeader', 'Chat' ], function(error) {
    if ( error != null ) { alert(error); return; }
    // done
});

Admin.Snippets.find(codes, function(snippets, error) { … })

Ritorna gli snippet con i codici indicati. Indicare null al posto dei codici per ritornare tutti gli snippets.

Esempio:

Admin.Snippets.get([ 'BlueHeader', 'Chat' ], function(snippets, error) {
    if ( error != null ) { alert(error); return; }
    alert('BlueHeader: '+snippets.BlueHeader);
    alert('Chat: '+snippets.Chat);
});

Limiti

Si possono aggiungere fino a 1.000 snippet per app. Il sorgente HTML di uno snippet può essere lungo fino a 50.000 caratteri e comunque la somma delle lunghezze dei sorgenti HTML di tutti gli snippet di una app non può superare il milione di caratteri.