Open2b versione 7.5

Scriggo

Scriggo è un sistema di template moderno e potente, sviluppato da Open2b e realizzato e basato sul linguaggio Go di Google. Scriggo consente di strutturare i file HTML del template rendendone più facile e veloce lo sviluppo e aggiunge variabili, macro e funzioni per aggiungere il contenuto dinamico del negozio che varia da pagina a pagina.

Scriggo, quando serve, fornisce anche un potente e completo linguaggio di programmazione integrato direttamente nel template, sicuro per essere utilizzato sia quando il negozio è su un proprio server e sia quando è in cloud.

Sintassi

Il seguente è un esempio minimale di pagina di template scritta con Scriggo:

{% extends "layout.html" %}
{% import "imports/banners.html" %}
{% macro Body %}
  {{ Banner() }}
  <ul>
    {% for product in products %}
    <li><a href="{{ product.URL }}">{{ product.Name }}</a></li>
    {% end for %}
  </ul>
  {{ render "pagination.html" }}
{% end macro %}

Le doppie parentesi graffe:

{{ product.Name }}
consentono di mostrare il contenuto di una variabile e più in generale il risultato della valutazione di una espressione.

Le parentesi graffe singole con il simbolo di percentuale:

{% if product.Stock > 10 %} disponibilità buona {% end %}
sono invece le istruzioni che consentono di strutturare il template, eseguire parti ripetute o in base a certe condizioni, dichiarare e assegnare variabili.

Istruzioni

Sono presenti diverse istruzioni che consentono di strutturare le pagine del template in diverse parti di codice, che possono essere riutilizzate, come show, macro, extends ed import.

L'istruzione if consente di eseguire del codice in base ad una condizione e l'intruzione for consente di eseguire ripetutamente del codice come ad esempio una lista di prodotti. A queste si aggiungono le istruzioni switch e altre forme di for.

L'istruzione var consente di dichiarare nuove variabili e le istruzioni di assegnamento come = consentono di cambiarne il valore.

Come approfondire

Operatori

Gli operatori consentono di definire espressioni più complesse a partire dalle variabili e dai valori di base. Scriggo mette a disposizione tutti gli operatori del linguaggio Go tra cui quelli aritmetici, di comparazione e logici. In aggiunta ha tre operatori logici and, or e not che operano su qualsiasi tipo di dato.

Come approfondire

Tipi di dato

Ogni variabile ha un tipo che indica i possibili valori che può avere, quali operazioni ci si possono fare sopra ed eventualmente quali metodi si possono chiamare sopra.

Si hanno i tipi base, come string, int e bool, strutture con più campi con un proprio nome e liste di valori dette "slice".

Alcune variabili si possono direttamente mostrare in una pagina HTML:

{{ name }}

Sono le variabili con un tipo base e le variabili su cui si può chiamare il metodo HTML come indicato nella documentazione del tipo della variabile.

Come approfondire

Variabili

Le variabili contengono dati del negozio che possono essere mostrati sul sito così come sono, usati nelle espressioni o passati come argomenti a macro, funzioni e metodi.

Per ogni pagina del sito sono disponibili delle variabili globali che variano in base alla pagina di template. Il contenuto di queste variabili può dipendere dalla pagina che viene mostrata al cliente. Ad esempio nella pagina di template product.html è disponibile la variabile predichiarata name che contiene il nome del prodotto il quale varia in base a quale prodotto viene renderizzato.

Come approfondire