Open2b versione 7.1

Tipi di dato

In questa pagina sono documentati tutti i tipi di dato e i relativi metodi usati per le variabili e nelle funzioni globali.

Tipi di dato di Scriggo

Per i tipi di dato di base di Scriggo, vedere la documentazione sui tipi di dato in Scriggo.

Indice dei tipi di dato

type AlignedImage

Il tipo AlignedImage rappresenta una immagine allineata a sinistra, al centro o a destra.

type AlignedImage struct {

    // Allineamento, può essere "left", "center" o "right".
    Align string

    // Immagine.
    Image

}

Un valore di tipo AlignedImage può essere direttamente visualizzato nell'HTML:

{{ image }}

in quanto su un valore di tipo AlignedImage si può chiamare il metodo HTML.

HTML

func (image AlignedImage) HTML() html

HTML ritorna l'immagine in un formato adatto per essere mostrato in una pagina HTML.

IsZero

func (image AlignedImage) IsZero() bool

IsZero ritorna true se l'immagine non è presente.

type AncestorItem

Il tipo AncestorItem rappresenta un ancestor item.

Contiene solamente campi non esportati ma un valore di questo tipo può essere direttamente visualizzato nell'HTML:

{{ item }}

in quanto su un valore di tipo AncestorItem si può chiamare il metodo HTML.

HTML

func (item AncestorItem) HTML() html

HTML ritorna l'ancestor item in un formato adatto per essere mostrato in una pagina HTML.

type AppliedFilter

Il tipo AppliedFilter rappresenta un filtro applicato.

Contiene solamente campi non esportati ma un valore di questo tipo può essere direttamente visualizzato nell'HTML:

{{ filter }}

in quanto su un valore di tipo AppliedFilter si può chiamare il metodo HTML.

HTML

func (filter AppliedFilter) HTML() html

HTML ritorna il filtro applicato in un formato adatto per essere mostrato in una pagina HTML.

type Attribute

Il tipo Attribute rappresenta un attributo di un prodotto.

type Attribute struct {

    // Identificatore.
    ID int

    // Nome.
    Name string

    // Valori.
    Values []AttributeValue

}

type AttributeValue

Il tipo AttributeValue rappresenta un valore di un attributo.

type AttributeValue struct {

    // Descrizione.
    Description string

    // Icona.
    Icon AttributeValueIcon

    // Identificatore.
    ID int

    // Nome.
    Name AttributeValueName

    // Indirizzo.
    URL string

}

type AttributeValueIcon

Il tipo AttributeValueIcon rappresenta l'icona di un valore di un attributo. Può essere un colore oppure una immagine.

type AttributeValueIcon struct {

    // Colore in formato esadecimale.
    Color string

    // Immagine.
    Image Image

}

Un valore di tipo AttributeValueIcon può essere direttamente visualizzato nell'HTML:

{{ icon }}

in quanto su un valore di tipo AttributeValueIcon si può chiamare il metodo HTML.

HTML

func (icon AttributeValueIcon) HTML() html

HTML ritorna l'icona in un formato adatto per essere mostrato in una pagina HTML.

type AttributeValueName

Il tipo AttributeValueName rappresenta il nome di un valore di un attributo.

type AttributeValueName struct {

    // Nome.
    Value string

}

Un valore di tipo AttributeValueName può essere direttamente visualizzato nell'HTML:

{{ name }}

in quanto su un valore di tipo AttributeValueName si può chiamare il metodo HTML.

HTML

func (name AttributeValueName) HTML() html

HTML ritorna il nome in un formato adatto per essere mostrato in una pagina HTML.

Il tipo Banner rappresenta un singolo banner del sito.

type Banner struct {

    // Immagini.
    Images []BannerImage

    // Nome della location.
    Name string

}

type BannerImage

Il tipo BannerImage rappresenta una singola immagine di un banner.

type BannerImage struct {

    // Immagine
    Image

}

Un valore di tipo BannerImage può essere direttamente visualizzato nell'HTML:

{{ bannerImage }}

in quanto su un valore di tipo BannerImage si può chiamare il metodo HTML.

HTML

func (image BannerImage) HTML() html

HTML ritorna l'immagine in un formato adatto per essere mostrato in una pagina HTML.

type Banners

Il tipo Banners rappresenta i banner del sito. I suoi campi sono i nomi delle locations dei banner. I nomi delle location si possono vedere nel Template Editor nella sezione Banners, facendo clic su mostra locations.

type Banners struct {

    // I campi di Banners sono i nomi delle locations dei banner del sito.
    // Di seguito il nome "SlideShow" è solo di esempio.
    SlideShow Banner

}

Esempio

Se ad esempio le location si chiamano "Top" e "Footer" allora Banners è definito nel seguente modo:

type Banners struct {

    // Banners in alto.
    Top Banner

    // Banners a fondo pagina.
    Footer Banner

}

e sarà quindi possibile visualizzare i banner tramite la variable banners come documentato a seguire.

type BlogPost

Il tipo BlogPost rappresenta un articolo del blog.

type BlogPost struct {

    // Autore.
    Author string

    // Data di pubblicazione.
    Date string

    // Immagine larga.
    LargeImage LinkedImage

    // Immagine piccola.
    SmallImage LinkedImage

    // Sommario.
    Summary html

    // Titolo.
    Title LinkedText

}

Il tipo Breadcrumb rappresenta un filtro attualmente applicato sotto forma di breadcrumb. Facendo clic su un filtro vengono applicati solamente il filtro stesso e i suoi predecessori.

Se si filtra per parole chiave e novità allora anche questi due saranno presenti come filtri nella breadcrumb.

type Breadcrumb struct {

    // Identificatore del reparto, produttore o valore di attributo.
    // Se il filtro applicato non è su reparto, produttore o attributo, il valore è zero.
    // Questo campo è presente solo nella versione 7.1 e successive.
    ID int

    // Indica se il filtro è su un attributo.
    IsByAttribute bool
    
    // Indica se il filtro è sui reparti.
    IsByDepartment bool
    
    // Indica se il filtro è sulle parole chiave.
    IsByKeywords bool
    
    // Indica se il filtro è sui prodotti in novità.
    IsByNewrelease bool
    
    // Indica se il filtro è sul prezzo.
    IsByPrice bool
    
    // Indica se il filtro è sui produttori.
    IsByProducer bool

    // Nome del filtro applicato.
    Item html

    // Posizione a partire a 1. Viene utilizzato ad esempio per i microdata.
    Position int

}

type CartItem

Il tipo CartItem rappresenta una riga del carrello.

type CartItem struct {

    // Pulsante per rimuovere la referenza dal carrello.
    ButtonRemove html

    // Pulsante per aggiornare il carrello in seguito alla modifica della quantità.
    ButtonUpdate html

    // Descrizione breve del prodotto.
    Description html

    // Sconto rispetto al prezzo di listino.
    Discount Discount

    // Immagine del prodotto.
    Image LinkedImage

    // Suggerimento per il cliente sul tipo di richieste che può fare sul
    // prodotto in caso di preventivo. Presente solo se è su preventivo.
    InfoForRequests string

    // Indica se è in pre-ordine.
    IsPreOrder bool

    // Prezzo di listino.
    ListPrice Price

    // Nome della referenza.
    Name html

    // IVA in percentuale.
    PercentTax Decimal

    // Prezzo.
    Price Price

    // Prezzi per quantità.
    Prices []PriceTier

    // Produttore.
    Producer html

    // Identificatore del prodotto.
    ProductID int

    // Quantità.
    Quantity Decimal

    // Modulo che il cliente può compilare con richieste specifiche sul
    // prodotto. Presente solo se è su preventivo.
    Requests html

    // Codice di magazzino.
    SKU string

    // Indica se deve essere preventivato oppure può essere ordinato.
    ToQuote bool

    // Prezzo totale.
    TotalPrice Price

    // Messaggio di avviso sulla disponibilità.
    Warning html

    // Peso.
    Weight Decimal

}

type ChildDepartment

Il tipo ChildDepartment rappresenta il reparto figlio di un determinato reparto.

type ChildDepartment struct {

    // Identificatore.
    ID int

    // Immagine piccola.
    Image LinkedImage

    // Nome.         
    Name LinkedText

}

type Decimal

Il tipo Decimal rappresenta un numero decimale.

Non ha campi a cui è possibile accedere ma un valore Decimal può essere direttamente visualizzato nell'HTML:

{{ value }}

in quanto su un valore di tipo Decimal si può chiamare il metodo HTML.

Add

func (d Decimal) Add(d2 Decimal) Decimal

Add ritorna la somma d + d2.

Cmp

func (d Decimal) Cmp(d2 Decimal) int

Cmp compara d e d2 e ritorna:

Div

func (d Decimal) Div(d2 Decimal) Decimal

Div ritorna la divisione d / d2. Va in panic se d2 è 0.

Equal

func (d Decimal) Equal(d2 Decimal) bool

Equal indica se d == d2 come numeri decimali.

Float64

func (d Decimal) Float64() float64

Float64 ritorna il valore float64 più vicino a d. Può ritornare +Inf o -Inf.

HTML

func (d Decimal) HTML() html

HTML ritorna il numero decimale in un formato adatto per essere mostrato in una pagina HTML. Il locale è quello della pagina correntemente renderizzata.

IsNegative

func (d Decimal) IsNegative() bool

IsNegative indica se d < 0.

IsPositive

func (d Decimal) IsPositive() bool

IsPositive indica se d > 0.

IsZero

func (d Decimal) IsZero() bool

IsZero indica se d == 0.

JS

func (d Decimal) JS() string

JS ritorna la rappresentazione di d come un numero JavaScript. Consente di utilizzare un valore Decimal nel codice JavaScript.

Esempio

Se la variabile price ha tipo Decimal e valore 172.99 allora il seguente codice:

<script>var price = {{ price }};</script>

sarà renderizzato come:

<script>var price = 172.99;</script>

JSON

func (d Decimal) JSON() string

JSON ritorna la rappresentazione di d come un numero JSON. Consente di utilizzare un valore Decimal nel codice JSON.

Esempio

Se la variabile price ha tipo Decimal e valore 172.99 allora il seguente codice:

<script type="application/ld+json">{ "price": {{ price }} }</script>

sarà renderizzato come:

<script type="application/ld+json">{ "price": 172.99 }</script>

LessThan

func (d Decimal) LessThan(d2 Decimal) bool

LessThan indica se d < d2.

LessThanOrEqual

func (d Decimal) LessThanOrEqual(d2 Decimal) bool

LessThan indica se d <= d2.

Mul

func (d Decimal) Mul(d2 Decimal) Decimal

Mul ritorna la moltiplicazione d * d2.

Neg

func (d Decimal) Neg() Decimal

Neg ritorna -d.

Round

func (d Decimal) Round(n int) Decimal

Round ritorna d arrotondato a n cifre decimali.

String

func (d Decimal) String() string

String ritorna la rappresentazione di d sotto forma di stringa con tutte le sue cifre decimali significative.

StringN

func (d Decimal) StringN(n int) string

StringN ritorna la rappresentazione di d sotto forma di stringa con esattamente n cifre decimali. Se d ha più cifre decimali significative di n allora è prima troncato a n cifre decimali.

Sub

func (d Decimal) Sub(d2 Decimal) Decimal

Sub ritorna la sottrazione d - d2.

Truncate

func (d Decimal) Truncate(n int) Decimal

Truncate ritorna d troncato a n cifre decimali.

type Department

type Department struct {

    // Identificatore.
    ID int

    // Nome.
    Name LinkedText

    // Immagine piccola.
    Image LinkedImage

    // Reparti figli.
    ChildDepartments []Department

}

type Discount

Il tipo Discount rappresenta uno sconto fisso o in percentuale.

type Discount struct {

    // Ammontare.
    Amount Price

    // Percentuale.
    Percent Decimal

}

Un valore Discount può essere direttamente visualizzato nell'HTML:

{{ discount }}

in quanto su un valore di tipo Discount si può chiamare il metodo HTML. Se il campo Amount è zero e il campo Percent è maggiore di zero allora mostra il valore di Percent altrimenti mostra quello di Amount.

Esempio

Se la variabile discount ha tipo Discount e valore 10.50 allora il seguente codice:

<b>Sconto: {{ discount }}</b>

sarà visualizzato come:

<b>Sconto: € 10,50</b>

HTML

func (d Discount) HTML() html

HTML ritorna lo sconto in un formato adatto per essere mostrato in una pagina HTML. Se d.Amount == 0 e d.Percent > 0 allora mostra d.Percent altrimenti d.Amount. La valuta e il locale sono quelli della pagina correntemente renderizzata.

IsZero

func (d Discount) IsZero() bool

IsZero indica se d.Amount == 0 e d.Percent == 0.

type Filter

type Filter struct {

    // Reparti superiori del reparto corrente.
    // È nil se il filtro non è sui reparti.
    Ancestors []FilterAncestor

    // Nome o icona del valore attualmente applicato.
    // È nil se il filtro non consente di applicare più valori contemporaneamente.
    AppliedValue FilterItem

    // Indica se si possono applicare più valori oppure uno solo per volta.
    // Può essere "multi" o "single".
    ApplyMode string

    // Identificativo dell'attributo del filtro. Significativo solo per
    // i filtri su attributo.
    Attribute int

    // Indica se ogni valore del filtro viene mostrato come nome o icona. Può
    // essere "name" o "icon".
    DisplayAs string

    // Indica se è applicato, ossia se almeno un valore del filtro è
    // applicato.
    IsApplied bool

    // Indica se il filtro è su un attributo.
    IsByAttribute bool

    // Indica se il filtro è sui reparti.
    IsByDepartment bool

    // Indica se il filtro è sul prezzo.
    IsByPrice bool

    // Indica se il filtro è sui produttori.
    IsByProducer bool

     // Indica se è espandibile, ossia se solo alcuni valori sono sempre
    // mostrati e gli altri sono mostrati espandendo tutti i valori del filtro.
    IsExpandable bool

    // Numero di valori del filtro che sono inizialmente nascosti e vengono
    // mostrati solo quando viene espanso. È zero se il filtro è sul prezzo.
    OnExpandCount int

    // Titolo.
    Title html

    // Valori. Per il filtro sui reparti è la lista dei reparti, per il
    // filtro sui produttori è la lista dei produttori, per i filtri sugli
    // attributi è la lista dei valori dell'attributo, per il filtro sui
    // prezzi è la lista delle fasce di prezzo a meno che non si sia scelto
    // di visualizzarlo come slider.
    Values []FilterValue

    //
    // I seguenti campi significativi solo per i filtri per prezzo.
    //

    // Pulsante per applicare il filtro per prezzo.
    ButtonApply html

    // Simbolo della valuta. Disponibile solo per il filtro su prezzo.
    Currency html

    // Massimo prezzo tra i prodotti filtrati. Disponibile solo se è visualizzato
    // come slider.
    MaxPrice Decimal

    // Minimo prezzo tra i prodotti filtrati. Disponibile solo se è visualizzato
    // come slider.
    MinPrice Decimal

    // Prezzo a partire da..
    PriceFrom html

    // Prezzo fino a..
    PriceTo html

    // Slider di selezione di una fascia di prezzo. Disponibile solo se è
    // visualizzato come slider.
    Slider html

}

type FilterAncestor

Il tipo FilterAncestor rappresenta un reparto antenato.

type FilterAncestor struct {

    // Identificatore del reparto antenato.
    ID int

    // Nome del reparto antenato.
    Item AncestorItem

}

type FilterItem

Il tipo FilterItem rappresenta una voce di un filtro.

FilterItem ha solamente campi non esportati ma un valore di questo tipo può essere direttamente visualizzato nell'HTML:

{{ item }}

in quanto su un valore di tipo FilterItem si può chiamare il metodo HTML.

HTML

func (item FilterItem) HTML() html

HTML ritorna la voce di filtro in un formato adatto per essere mostrato in una pagina HTML.

type FilterValue

Il tipo FilterValue rappresenta una voce di un filtro.

type FilterValue struct {

    // Identificatore. Per il filtro sui reparti è l'identificatore del
    // reparto, per il filtro sui produttori è l'identificatore del
    // produttore mentre per il filtro sugli attributi è l'identificatore del
    // valore dell'attributo.
    ID int

    // Indica se è applicabile. Se si è scelto per il filtro di non mostrare
    // i valori non applicabili allora tutti i valori mostrati saranno applicabili.
    IsApplicable bool

    // Indica se è applicato.
    IsApplied bool

    // Nome o icona seguito eventualmente dal conteggio dei prodotti.
    Item FilterItem

    // Indica se viene mostrato solo quando i valori del filtro vengono
    // espansi. Può essere "yes" oppure "no".
    OnExpand string

}

type html

Il tipo html rappresenta del codice HTML.

type html string

Un valore string viene sottoposto ad escape per essere rendirizzato in un costesto HTML. Ad esempio:

{% var s = "<b>hello</b>" %}
{{ s }}

è rendirizzato:

&lt;b&gt;hello&lt;/b&gt;

Mentre un valore html non viene sottoposto ad escape nel contesto HTML. Ad esempio:

{% var s = html("<b>hello</b>") %}
{{ s }}

è rendirizzato:

<b>hello</b>

Conversione da string ad html

Nel precedente esempio si è usata l'espressione html("<b>hello</b>"), questa sembra una chiamata di funzione ma siccome html è un tipo, si tratta invece di una conversione di tipo. "hello" è una stringa che viene convertita al tipo html.

Scriggo segue le conversioni di tipo del linguaggio Go. Però nel caso di html è consentito la conversione solo per stringhe letterali. Ad esempio:

{{ html("<b>hello</b>") }} {# ok #}
{{ html(hello) }} {# errore: hello non è un letterale ma una variabile #}

type Image

Il tipo Image rappresenta una immagine.

type Image struct {

    // Valore dell'attributo "alt".
    Alt string

    // Altezza in pixel.
    Height int

    // Valore dell'attributo "itemprop".
    Itemprop string

    // Valore dell'attributo "title".
    Title string

    // Indirizzo dell'immagine in singola risoluzione.
    URL string

    // Indirizzo dell'immagine in doppia risoluzione.
    URL2x string

    // Larghezza in pixel.
    Width int

}

Un valore di tipo Image può essere direttamente visualizzato nell'HTML:

{{ image }}

in quanto su un valore di tipo Image si può chiamare il metodo HTML.

HTML

func (image Image) HTML() html

HTML ritorna l'immagine in un formato adatto per essere mostrato in una pagina HTML.

type InvoiceInList

Il tipo InvoiceInList rappresenta un fattura nella pagina documents.html.

type InvoiceInList struct {

    // Pulsante per vedere la fattura.
    ButtonView html

    // Data di emissione.
    Date string

    // Numero.
    Number string

    // Stato.
    Status html

    // Totale.
    Total Price

    // Tipo di fattura.
    Type html

    // Indirizzo della pagina di dettaglio della fattura.
    URL string

}

type Item

Il tipo Item rappresenta una referenza di un prodotto.

type Item struct {

    // Pulsante per aggiungere la referenza al carrello, se la giacenza
    // è maggiore di zero oppure la referenza è comunque ordinabile.
    ButtonAddToCart html

    // Sconto rispetto al prezzo di listino.
    Discount Discount

    // Codice EAN13.
    EAN string

    // Immagine.
    Image LinkedImage

    // Codice ISBN13.
    ISBN string

    // Indica se è in vendita.
    IsForSale bool

    // Prezzo di listino.
    ListPrice Price

    // Quantità massima ordinabile.
    MaximumOrderQuantity Decimal

    // Quantità minima ordinabile.
    MinimumOrderQuantity Decimal

    // Opzioni.
    Options []Option

    // IVA in percentuale.
    PercentTax Decimal

    // Prezzo.
    Price Price

    // Prezzi per quantità.
    Prices []PriceTier

    // Quantità da aggiungere al carrello. È vuoto se la
    // giacenza è zero o la referenza non è comunque ordinabile.
    Quantity html

    // Giorni necessari per il riordino se non è subito disponibile.
    ReorderDays int

    // Codice di magazzino.
    SKU string

    // Data di spedizione.
    ShippingDate string

    // Quantità disponibile.
    Stock Decimal

    // Codice UPC.
    UPC string

    // Peso.
    Weight Decimal

}

type LinkedImage

Il tipo LinkedImage rappresenta una immagine con un link.

type LinkedImage struct {

    // Immagine.
    Image

}

Un valore di tipo LinkedImage può essere direttamente visualizzato nell'HTML:

{{ image }}

in quanto su un valore di tipo LinkedImage è possibile chiamare il metodo HTML.

HTML

func (image LinkedImage) HTML() html

HTML ritorna l'immagine in un formato adatto per essere mostrato in una pagina HTML.

type LinkedText

Il tipo LinkedText rappresenta un testo con un link.

type LinkedText struct {

    // Indica se il link viene aperto in una nuova finestra.
    Blank bool

    // Classe.
    Class string

    // Testo.
    Text string

    // Titolo.
    Title string

    // Indirizzo.
    URL string

}

Un valore di tipo LinkedText può essere direttamente visualizzato nell'HTML:

{{ text }}

in quanto su un valore di tipo LinkedText è possibile chiamare il metodo HTML.

HTML

func (text LinkedText) HTML() html

HTML ritorna il testo in un formato adatto per essere mostrato in una pagina HTML.

Il tipo Menu rappresenta un singolo menù del sito.

type Menu struct {

    // Voci
    // Nella versione 7.0 il tipo è '[]html' invece di '[]MenuItem'.
    Items []MenuItem

    // Nome della sezione del menù.
    Name string

    // Titolo
    // Nella versione 7.0 il tipo è 'html' invece di 'MenuItem'.
    Title MenuItem

}
func (menu Menu) IsZero() bool

IsZero indica se len(menu.Items) == 0 e menu.Title == "". Consente di usare un valore Menu come condizione di un if per verificare se contiene delle voci e un titolo.

{% if menu := menus.Account; menu %}
<div class="menu">
  {% if menu.Title %}<h3>{{ menu.Title }}</h3>{% end %}
  {% if menu.Items %}
  <ul>
    {% for item in menu.Items %}
    <li>{{ item }}</li>
    {% end for %}
  </ul>
  {% end if %}
</div>
{% end if %}

Il tipo Menus rappresenta i menù del sito. I campi sono i nomi delle sezioni dei menù. I nomi delle sezioni si possono vedere nel Template Editor alla voce Menù, facendo clic su mostra sezioni.

type Menus struct {

    // I campi di Menus sono i nomi delle sezioni dei menù del sito.
    // Di seguito il nome "Company" è solo di esempio.
    Company Menu

}

type NewsletterList

Il tipo NewsletterList rappresenta una lista di newsletter a cui è possibile sottoscriversi.

type NewsletterList struct {

    // Descrizione.
    Description string

    // Nome.
    Name string

    // Casella selezionabile per sottoscrivere la lista.
    Subscription html

}

type Option

Il tipo Option rappresenta una opzione di una variante.

type Option struct {

    // Nome.
    Name string

    // Nome della corrispondente variante.
    Variant string

}

type Order

Il tipo Order rappresenta un ordine di un cliente con le relative spedizioni e resi.

type Order struct {

    // Indirizzo di fatturazione.
    BillingAddress html

    // Pulsante per stampare l'ordine.
    ButtonPrint html

    // Nome e cognome del cliente, o nome dell'azienda.
    CustomerName string

    // Data di creazione dell'ordine.
    Date string

    // Referenze di prodotto ordinate e non ancora spedite.
    Items []OrderItem

    // Numero.
    Number string

    // Resi.
    Returns []Return

    // Spedizioni.
    Shipments []Shipment

    // Indirizzo di spedizione.
    ShipmentAddress html

    // Stato.
    Status html

    // Totale.
    Total Price

}

type OrderInList

Il tipo OrderInList rappresenta un ordine nella pagina documents.html.

type OrderInList struct {

    // Pulsante per vedere l'ordine.
    ButtonView html

    // Data di creazione.
    Date string

    // Numero.
    Number string

    // Stato.
    Status html

    // Totale.
    Total Price

    // Indirizzo della pagina di dettaglio dell'ordine.
    URL string

}

type OrderItem

Il tipo OrderItem rappresenta una riga di un ordine.

type OrderItem struct {

    // Pulsante per aggiungere la referenza al carrello
    // nella quantità dell'ordine.
    ButtonAddAllToCart html

    // Pulsante per aggiungere la referenza al carrello
    // nella sua quantità minima ordinabile.
    ButtonAddToCart html

    // Immagine larga, se presente.
    LargeImage LinkedImage

    // Immagine media, se presente.
    MediumImage LinkedImage

    // Nome.
    Name html

    // Prezzo.
    Price Price

    // Quantità.
    Quantity Decimal

    // Richieste del cliente.
    Requests string

    // Quantità spedita.
    ShippedQuantity Decimal

    // Codice di magazzino.
    SKU string

    // Immagine piccola, se presente.
    SmallImage LinkedImage

    // Codice della classe IVA.
    TaxCode string

    // IVA in percentuale.
    TaxRate Decimal

    // Prezzo totale.
    TotalPrice Price

}

type PageNumber

Il tipo PageNumber rappresenta un numero di pagina di una paginazione.

type PageNumber int

Un valore di tipo PageNumber può essere direttamente visualizzato nell'HTML:

{{ pageNumber }}

in quanto su un valore di tipo PageNumber è possibile chiamare il metodo HTML. Il numero è visualizzato solo se è maggiore di uno.

HTML

func (number PageNumber) HTML() html

HTML ritorna il numero di pagina in un formato adatto per essere mostrato in una pagina HTML. Se number <= 1 ritorna una stringa vuota.

type Pagination

Il tipo Pagination rappresenta una paginazione. È usato nella paginazione di prodotti e ordini.

type Pagination struct {

    // Pagina corrente. La prima pagina è la pagina 1.
    Current int

    // Ultima pagina.
    Last int

    // Testo del link per andare alla pagina successiva. Corrisponde al valore presente
    // nelle traduzioni del template in corrispondenza della voce ButtonNextPage.
    NextText html

    // Testo del link per andare alla pagina precedente. Corrisponde al valore presente
    // nelle traduzioni del template in corrispondenza della voce ButtonPreviousPage.
    PreviousText html

}

Un valore di tipo Pagination, come la variabile pagination, può essere direttamente visualizzato nell'HTML per mostrare la paginazione in formato standard:

{{ pagination }}

in quanto su un valore di tipo Pagination si può chiamare il metodo HTML.

HTML

func (p Pagination) HTML() html

HTML ritorna la paginazione in un formato adatto per essere mostrato in una pagina HTML. Se p.Last <= 1 ritorna una stringa vuota.

IsZero

func (p Pagination) IsZero() bool

IsZero indica se la paginazione non è presente ossia se p.Last <= 1.

PagePath

func (p Pagination) PagePath(n int) string

PagePath ritorna il path assoluto dell'URL della pagina n. Ritorna una stringa vuota se n < 1 oppure se n > p.Last.

Esempio

Il metodo PagePath può essere usato per mostrare una paginazione personalizzata:

{% for i := 1; i <= p.Last; i++ %}
  {% if i == p.Current %}
    {{ i }}
  {% else %}
    <a href="{{ pagination.PagePath(i) }}">{{ i }}</a>
  { % end if %}
{ % end for %}

type PaymentMethod

Il tipo PaymentMethod rappresenta un metodo di pagamento che può essere selezionato durante il checkout.

type PaymentMethod struct {

    // Casella selezionabile per scegliere il metodo di pagamento.
    Choice html

    // Descrizione.
    Description string

    // Nome.
    Name html

}

type Price

Il tipo Price rappresenta un prezzo o un costo con e senza IVA.

type Price struct {

    // Prezzo netto (prezzo IVA inclusa).
    Net Decimal

    // Prezzo lordo (prezzo IVA esclusa).
    Gross Decimal

}

Un valore di tipo Price può essere direttamente visualizzata nell'HTML:

{{ price }}

in quanto su un valore di tipo Price si può chiamare il metodo HTML. Visualizza il prezzo lordo o netto in base al cliente.

HTML

func (price Price) HTML() html

HTML ritorna il prezzo in un formato adatto per essere mostrato in una pagina HTML. La valuta e il locale sono quelli della pagina correntemente renderizzata. HTML visualizza il prezzo lordo o netto in base al gruppo clienti corrente.

IsZero

func (p Price) IsZero() bool

IsZero indica se p == 0.

JS

func (p Price) JS() string

JS ritorna la rappresentazione di p come numero JavaScript. Consente di utilizzare un valore Price nel codice JavaScript.

Esempio

Se la variabile price ha tipo Price e valore 16.99 allora il seguente codice:

<script>var price = {{ price }};</script>

sarà renderizzato come:

<script>var price = 9.99;</script>

Il prezzo visualizzato sarà quello lordo o netto in base al cliente. In alternativa usare p.Gross per visualizzare sempre quello lordo e p.Net per visualizzare sempre quello netto.

JSON

func (p Price) JSON() string

JSON ritorna la rappresentazione di p come numero JSON. Consente di utilizzare un valore Price nel codice JSON.

Esempio

Se la variabile price ha tipo Price e valore 37.50 allora il seguente codice:

<script type="application/ld+json">{ "price": {{ price }} }</script>

sarà renderizzato come:

<script type="application/ld+json">{ "price": 37.50 }</script>

Il prezzo visualizzato sarà quello lordo o netto in base al cliente. In alternativa usare p.Gross per visualizzare sempre quello lordo e p.Net per visualizzare sempre quello netto.

type PriceTier

Il tipo PriceTier rappresenta un prezzo che varia per quantità.

type PriceTier struct {

    // Sconto rispetto al prezzo di listino.
    Discount Discount

    // Quantità a partire dalla quale si applica il prezzo.
    From Decimal

    // Prezzo di listino.
    ListPrice Price

    // Prezzo di vendita.
    Price Price

    // Quantità fino alla quale si applica il prezzo.
    To Decimal

}

type Processing

Il tipo Processing rappresenta un trattamento sulla privacy secondo la normativa GDPR.

type Processing struct {

    // Casella da selezionare per accettare il consenso sul trattamento.
    Consent html

    // Descrizione del trattamento.
    Description string

    // Identificativo univoco del trattamento.
    ID int

    // Indica se il consenso è obbligatorio.
    IsConsentRequired bool

    // Collegamento alla pagina con i dettagli.
    MoreInfo html

    // Titolo del trattamento.
    Title string

}

type ProductImage

Il tipo ProductImage rappresenta una immagine di un prodotto.

type ProductImage struct {

    // Immagine.
    Image

    // Indirizzo della corrispondente immagine di zoom.
    ZoomImageURL string

}

Un valore di tipo ProductImage può essere direttamente visualizzato nell'HTML:

{{ image }}

in quanto su un valore di tipo ProductImage si può chiamare il metodo HTML.

HTML

func (image ProductImage) HTML() html

HTML ritorna l'immagine in un formato adatto per essere mostrato in una pagina HTML.

type PrintedItem

type PrintedItem struct {

    // Nome.
    Name string

    // Prezzo.
    Price Price

    // Quantità.
    Quantity Decimal

    // Richieste del cliente.
    Requests string

    // Codice di magazzino.
    SKU string

    // Codice della classe IVA.
    TaxCode string

    // IVA in percentuale.
    TaxRate Decimal

    // Prezzo totale.
    TotalPrice Price

}

type PrintedTax

type PrintedTax struct {

    // Ammontare della tassa.
    Amount Decimal

    // Codice della classe IVA.
    Code string

    // Nome della classe IVA.
    Name string

    // IVA in percentuale.
    Rate Decimal

    // Totale tassabile.
    TaxableTotal Decimal

}

type Producer

Il tipo Producer rappresenta un produttore.

type Producer struct {
    
    // Identificativo.
    ID int
    
    // Nome.          
    Name LinkedText
    
    // Logo.
    Logo LinkedImage
    
}

Un valore Producer può essere direttamente visualizzato nell'HTML:

{{ producer }}

in quanto su un valore di tipo Producer si può chiamare il metodo HTML.

type Product

Il tipo Product rappresenta un prodotto.

type Product struct {

    // Pulsante per aggiungere il prodotto al carrello.
    ButtonAddToCart html

    // Pulsante per aggiungere il prodotto alla lista dei desideri.
    ButtonAddToWishList html

    // Pulsante per rimuovere un prodotto dalla lista dei desideri,
    // disponibile solo nella pagina wish-list.html
    ButtonRemove html

    // Codice del prodotto.
    Code string

    // Reparto principale del prodotto.
    Department string

    // Sconto rispetto al prezzo di listino.
    Discount Discount

    // Identificatore del prodotto.
    ID int

    // Indica se è in vendita.
    IsForSale bool

    // Indica se è una novità.
    IsNewRelease bool

    // Indica se è in pre-ordine.
    IsPreOrder bool

    // Immagine larga. Potrà essere visualizzata in dimensione piccola o
    // media se diversamente indicato nel gestionale.
    LargeImage LinkedImage

    // Prezzo di listino.
    ListPrice Price

    // Immagine media. Potrà essere visualizzata in dimensione piccola o
    // larga se diversamente indicato nel gestionale.
    MediumImage LinkedImage

    // Messaggio che informa il cliente che può richiedere un preventivo sul
    // prodotto con una quantità minima.
    MinQuoteMessage html

    // Nome.
    Name LinkedText

    // IVA in percentuale.
    PercentTax Decimal

    // Posizione del prodotto nell'elenco a partire da uno. Utilizzato in
    // particolare nei prodotti più venduti.
    Position int

    // Messaggio che informa che il prodotto è in pre-ordine.
    PreOrderMessage html

    // Prezzo di vendita.
    Price Price

    // Produttore.
    Producer string

    // Logo del produttore.
    ProducerLogo LinkedImage

    // Rating delle recensioni da 0.0 a 5.0.
    ReviewRating Decimal

    // Descrizione breve.
    ShortDescription html

    // Codice di magazzino della referenza primaria.
    SKU string

    // Immagine piccola. Potrà essere visualizzata in dimensione media o
    // larga se diversamente indicato nel gestionale.
    SmallImage LinkedImage

}

type Promotion

Il tipo Promotion rappresenta una promozione.

type Promotion struct {

    // Descrizione.
    Description string

    // Data di termine.
    EndTime string

    // Immagine piccola.
    Image LinkedImage

    // Immagine grande.
    LargeImage LinkedImage

    // Nome.
    Name LinkedText

    // Immagine piccola.
    SmallImage LinkedImage

    // Data di inizio.
    StartTime string

}

type ProductFile

Il tipo ProductFile rappresenta un file allegato ad un prodotto.

type ProductFile struct {

    // Descrizione.
    Description LinkedText

    // Dimensione in KB.
    Size string

}

type QuoteInList

Il tipo QuoteInList rappresenta un preventivo nella pagina documents.html.

type QuoteInList struct {

    // Pulsante per vedere il preventivo.
    ButtonView html

    // Data di creazione.
    Date string

    // Numero.
    Number string

    // Stato.
    Status html

    // Totale.
    Total Price

    // Indirizzo della pagina di dettaglio del preventivo.
    URL string

}

type Regexp

Il tipo Regexp rappresenta una espressione regolare su cui fare delle ricerche sulle stringhe.

type Regexp struct {
    // Contiene solo campi non esportati.
}

Match

func (re Regexp) Match(s string) bool

Match indica se la stringa s contiene un match dell'espressione regolare.

Find

func (re Regexp) Find(s string) string

Find ritorna una stringa con il test del match più a sinistra in s dell'espressione regolare.

FindAll

func (re Regexp) FindAll(s string) []string

FindAll ritorna uno slice di tutti i match dell'espressione regolare.

FindAllSubmatch

func (re Regexp) FindAllSubmatch(s string) [][]string

FindAllSubmatch ritorna uno slice di tutti i sotto-match dell'espressione regolare.

FindSubmatch

func (re Regexp) FindSubmatch(s string) []string

FindSubmatch ritorna uno slice dei sotto-match dell'espressione regolare.

ReplaceAll

func (re Regexp) ReplaceAll(src, repl string) string

ReplaceAll ritorna una copia di src sostituendo i match dell'espressione regolare con la strinfa repl.

ReplaceAllFunc

func (re Regexp) ReplaceAllFunc(src, repl func(string) string) string

ReplaceAllFunc ritorna una copia di src sostituendo i match dell'espressione regolare con i valori di ritorno della funzione repl applicata alle sottostringhe dei match.

Split

func (re Regexp) Split(s string, n int) []string

Split suddivide s in sotto stringhe separate in base all'espressione regolare e ritorna uno splice delle sotto stringhe tra i metch.

type Return

Il tipo Return rappresenta un reso.

type Return struct {

    // Pulsante per stampare il reso.
    ButtonPrint html

    // Data in cui è stata fatta la richiesta di reso.
    Date string

    // Referenze di cui è stato richiesto il reso.
    Items []ReturnItem

    // Numero.
    Number string

    // Stato.
    Status html

}

type ReturnItem

Il tipo ReturnItem rappresenta una riga di un reso.

type ReturnItem struct {

    // Stato di approvazione del reso del prodotto.
    Approval html

    // Commenti del cliente sul prodotto inseriti alla richiesta del reso.
    Comments string

    // Immagine larga, se presente.
    LargeImage LinkedImage

    // Immagine media, se presente.
    MediumImage LinkedImage

    // Nome.
    Name html

    // Prezzo.
    Price Price

    // Quantità.
    Quantity Decimal

    // Motivo della richiesta di reso.
    Reason string

    // Codice di magazzino.
    SKU string

    // Immagine piccola, se presente.
    SmallImage LinkedImage

    // Codice della classe IVA.
    TaxCode string

    // IVA in percentuale.
    TaxRate Decimal

}

type ReturnableItem

Il tipo ReturnableItem rappresenta una referenza di cui può essere fatto il reso.

type ReturnableItem struct {

    // Casella selezionabile per aggiungere la referenza al reso.
    AddToReturn html

    // Commenti del cliente.
    Comments html

    // Data di consegna della relativa spedizione.
    DeliveryDate string

    // Identificativo della referenza nell'ambito del reso.
    ID string

    // Informazioni sulle condizioni per fare il reso.
    Info string

    // Nome.
    Name string

    // Numero del relativo ordine.
    OrderNumber string

    // Quantità di cui fare il reso.
    Quantity TextField

    // Menù per la scelta del motivo del reso.
    Reasons html

    // Quantità massima di cui si può fare il reso.
    ReturnableQuantity Decimal

    // Codice di magazzino.
    SKU string

}

type Review

Il tipo Review rappresenta una recensione di un prodotto.

type Review struct {

    // Autore.
    Author string

    // Codice.
    Code string

    // Contenuto.
    Content string

    // Data.
    Date string

    // Rating da 0.0 a 5.0.
    Rating Decimal

    // Sommario.
    Summary string

}

type ShippingMethod

Il tipo ShippingMethod rappresenta un metodo di spedizione che può essere selezionato durante il checkout.

type ShippingMethod struct {

    // Casella selezionabile per scegliere il metodo di spedizione.
    Choice html

    // Nome.
    Name html

}

type Shipment

Il tipo Shipment rappresenta una spedizione.

type Shipment struct {

    // Pulsante per fare il reso delle referenze.
    ButtonReturnItems html

    // Data di consegna.
    DeliveryDate string

    // Referenze spedite.
    Items []ShipmentItem

    // Data di spedizione.
    ShippingDate string

    // Numero di tracciamento.
    TrackingNumber string

    // Link alla pagina di tracciamento.
    TrackingURL html

}

type ShipmentItem

Il tipo ShipmentItem rappresenta una riga di un reso.

type ShipmentItem struct {

    // Pulsante per aggiungere la referenza al carrello
    // nella quantità della spedizione.
    ButtonAddAllToCart html

    // Pulsante per aggiungere la referenza al carrello
    // nella sua quantità minima ordinabile.
    ButtonAddToCart html

    // Indica se è possibile richiedere il reso.
    IsReturnable bool

    // Immagine larga, se presente.
    LargeImage LinkedImage

    // Ultimo giorno per richiedere il reso.
    LastDateToReturn string

    // Immagine media, se presente.
    MediumImage LinkedImage

    // Nome.
    Name html

    // Prezzo.
    Price Price

    // Quantità.
    Quantity Decimal

    // Richieste del cliente.
    Requests string

    // Codice di magazzino.
    SKU string

    // Immagine piccola, se presente.
    SmallImage LinkedImage

    // Codice della classe IVA.
    TaxCode string

    // IVA in percentuale.
    TaxRate Decimal

}

type SiblingDepartment

Il tipo SiblingDepartment rappresenta il reparto fratello di un determinato reparto.

type SiblingDepartment struct {

    // Immagine piccola.
    Image LinkedImage

    // Nome.
    Name LinkedText

}

type Snippet

Il tipo Snippet rappresenta uno snippet ritornato dalla funzione snippet.

Contiene solamente campi non esportati ma un valore di questo tipo può essere direttamente visualizzato nell'HTML:

{{ snippet("rating") }}

in quanto su un valore di tipo Snippet si può chiamare il metodo HTML. Se non esiste lo snippet con il nome passato come argomento alla funzione snippet, visualizza un commento HTML con il messaggio di errore.

Error

func (s Snippet) Error() error

Error ritorna l'errore che si è verificato nel leggere lo snippet. Ritorna nil se non si è verificato nessun errore.

HTML

func (s Snippet) HTML() html

HTML ritorna lo snippet in formato adatto per essere inserito nel codice HTML.

type TextField

Il tipo TextField rappresenta un campo di testo di un modulo.

type TextField struct {

    // Errore verificatosi nella compilazione del campo.
    Error html

    // Indica se il campo è obbligatorio.
    Required bool

    // Il valore del campo.
    Value string

}

Un valore di tipo TextField può essere direttamente visualizzato nell'HTML:

{{ item }}

in quanto su un valore di tipo TextField si può chiamare il metodo HTML.

HTML

func (field TextField) HTML() html

HTML ritorna il campo in un formato adatto per essere mostrato in una pagina HTML.

type Thumbnail

Il tipo Thumbnail rappresenta una miniatura di una immagine di un prodotto.

type Thumbnail struct {

    // Immagine.
    Image

    // Indirizzo della corrispondente immagine larga.
    LargeImageURL string

    // Indirizzo della corrispondente immagine zoom.
    ZoomImageURL string

}

type Thumbnails

Il tipo Thumbnails rappresenta le miniatura delle immagini di un prodotto.

type Thumbnails []Thumbnail

Un valore di tipo Thumbnails può essere direttamente visualizzato nell'HTML:

{{ thumbnails }}

in quanto su un valore di tipo Thumbnails si può chiamare il metodo HTML.

HTML

func (t Thumbnails) HTML() html

HTML ritorna le miniature in un formato adatto per essere mostrato in una pagina HTML.

type Variant

Il tipo Variant rappresenta una variante.

type Variant struct {

    // Nome.
    Name string

    // Opzioni.
    Options html

}
Quanto ti è stata utile questa pagina?

Grazie per averci aiutato a migliorare questa pagina