Di seguito sono documentate:
product.html
del singolo prodottonew-releases.html
dove vengono elencati i prodotti in novitàsearch.html
per la ricerca dei prodottishare.html
di condivisione di un prodotto sui socialproducts
per le liste di prodottiIn aggiunta a queste, nelle pagine product.html
e share.html
si possono usare anche le variabili comuni a tutte le pagine.
Pagina con i dettagli di un prodotto.
var (
// Prodotti accessori.
accessories []Product
// Numero di colonne su cui visualizzare i prodotti accessori.
accessoriesColumns int
// Tutti i breadcrumbs, uno per ogni reparto pricipale del prodotto, da
// quello principale a quello più profondo.
allBreadcrumbs [][]Breadcrumb
// Attributi del prodotto.
attributes []Attribute
// Reparti da quello principale a quello più profondo in cui si
// trova il prodotto.
breadcrumbs []Breadcrumb
// Pulsante per aggiungere il prodotto al carrello.
buttonAddToCart HTML
// Pulsante per aggiungere il prodotto alla lista dei desideri.
buttonAddToWhishList HTML
// Codice del prodotto.
code string
// Reparto del prodotto.
department LinkedText
// Sconto rispetto al prezzo di listino.
discount Discount
// Codice EAN13 della referenza primaria.
ean string
// File allegati scaricabili.
files []File
// Identificativo del prodotto.
id int
// Immagine larga.
image ProductImage
// Indica se è disponibile e può essere ordinato.
isAvailable bool
// Codice ISBN13 della referenza primaria.
isbn string
// Indica se il prezzo è scontato.
isDiscounted bool
// Indica se è in vendita.
isForSale bool
// Indica se la quantità in magazzino è maggiore di zero. Se il prodotto
// ha più referenze allora ha sempre valore falso.
isInStock bool
// Indica se è una novità.
isNewRelease bool
// Indica se è in pre-ordine.
isPreOrder bool
// Referenze del prodotto.
items []Item
// Prezzo di listino.
listPrice Price
// Descrizione lunga.
longDescription HTML
// Meta tag <meta property="og:image"> che indica a siti come Facebook
// l'immagine da utilizzare per la condivisione.
// Da inserire tra <head> e </head>.
metaOGImage HTML
// Messaggio che informa il cliente che può richiedere un preventivo sul
// prodotto con una quantità minima.
minQuoteMessage HTML
// Descrizione aggiuntiva.
moreDescription HTML
// Nome del prodotto.
name string
// Percentuale delle tasse.
percentTax Decimal
// Messaggio che informa il cliente che il prodotto è pre-ordinabile.
preOrderMessage string
// Prezzo di vendita.
price Price
// Produttore.
producer Producer
// Messaggio che informa il cliente che il prodotto è in promozione.
promotionMessage HTML
// Campo dove indicare la quantità da aggiungere al carrello.
quantity HTML
// Rating delle recensioni da 0.0 a 5.0.
reviewRating Decimal
// Recensioni.
reviews []Review
// Numero totale di recensioni.
reviewsCount int
// Data stimata per la spedizione. Utilizzabile sono se il prodotto non
// ha varianti ed ha una sola referenza. Se il prodotto è disponibile in
// magazzino allora data è il giorno seguente, altrimenti vengono
// aggiunti tanti giorni quanti sono i giorni di riordino dai fornitori.
shippingDate string
// Descrizione breve.
shortDescription HTML
// Prodotti simili.
similar []Product
// Numero di colonne su cui visualizzare i prodotti simili.
similarColumns int
// Condivisione sui social.
socialSharing HTML
// Informa il cliente di eventuali errori nell'aggiunta del prodotto nel
// carrello.
statusMessage HTML
// Miniature delle immagini del prodotto.
thumbnails Thumbnails
// Codice UPC della referenza primaria.
upc string
// URL del prodotto nella lingua corrente.
url string
// Varianti.
variants []Variant
)
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
.
func (image ProductImage) HTML() string
HTML
ritorna l'immagine in un formato adatto per essere mostrato in una pagina HTML.
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
.
func (t Thumbnails) HTML() string
HTML
ritorna le miniature in un formato adatto per essere mostrato in una pagina HTML.
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
}
Il tipo Attribute
rappresenta un attributo di un prodotto.
type Attribute struct {
// Identificatore.
ID int
// Nome.
Name string
// Valori.
Values []AttributeValue
}
Il tipo Attribute
rappresenta un attributo di un prodotto.
type Attribute struct {
// Identificatore.
ID int
// Nome.
Name string
// Valori.
Values []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
}
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
.
func (icon AttributeValueIcon) HTML() string
HTML
ritorna l'icona in un formato adatto per essere mostrato in una pagina HTML.
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
.
func (name AttributeValueName) HTML() string
HTML
ritorna il nome in un formato adatto per essere mostrato in una pagina HTML.
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
}
Il tipo Variant
rappresenta una variante.
type Variant struct {
// Nome.
Name string
// Opzioni.
Options HTML
}
Il tipo Option
rappresenta una opzione di una variante.
type Option struct {
// Nome.
Name string
// Nome della corrispondente variante.
Variant string
}
Il tipo File
rappresenta un file allegato ad un prodotto.
type File struct {
// Descrizione.
Description LinkedText
// Dimensione in KB.
Size string
}
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
}
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
}
Consente di eseguire una ricerca avanzata sui prodotti e di visualizzarne i relativi risultati.
var (
// Percorso di ricerca. Comprende i filtri applicati nella ricerca.
breadcrumbs []Breadcrumb
// Numero di colonne su cui visualizzare i prodotti.
columns int
// Contenuto della pagina.
content HTML
// Numero totale di prodotti che soddisfano le condizioni di ricerca.
count int
// Reparto in cui cercare. Visualizzato come elemento <select>.
department HTML
// Indica se la ricerca è stata eseguita.
hasBeenExecuted bool
// Parole chiave da cercare. Visualizzate come elemento <input>.
keywords HTML
// Immagine della pagina.
image AlignedImage
// Produttore in cui cercare. Visualizzato come elemento <select>.
producer HTML
// Paginazione, consente di spostarsi nei successivi prodotti.
pagination Pagination
// Prodotti risultanti dalla ricerca.
products []Product
// Menù da cui scegliere l'ordinamento dei prodotti. Visualizzato come
// elemento <select>.
sortBy HTML
)
Visualizza tutti i prodotti in novità.
var (
// Numero di colonne su cui visualizzare i prodotti.
columns int
// Contenuto della pagina.
content HTML
// Numero totale di prodotti in novità.
count int
// Immagine della pagina.
image AlignedImage
// Paginazione, consente di spostarsi nei successivi prodotti.
pagination Pagination
// Prodotti in novità.
products []Product
// Menù da cui scegliere l'ordinamento dei prodotti. Visualizzato come
// un elemento <select>.
sortBy HTML
)
Consente di condividere un prodotto o una promozione tramite email.
var (
// Pulsante per inviare l'email.
buttonSend HTML
// Contenuto della pagina.
content HTML
// Messaggio da scrivere nell'email. Può essere scritto solo dai clienti
// che hanno fatto il login.
message HTML
// Immagine della pagina.
image AlignedImage
// Destinatari dell'email.
recipients HTML
// Indirizzo email del mittente.
senderEmail HTML
// Nome del mittente.
senderName HTML
// Immagine del prodotto o della promozione.
shareImage Image
// Nome del prodotto o della promozione.
shareName string
// Messaggio che informa sull'esito dell'invio dell'email o su eventuali errori.
statusMessage HTML
)
La variabile products
(di tipo []
Product) è usata nelle pagine index.html
, department.html
, producer.html
, search.html
, new-releases.html
, wish-list.html
e product.html
per visualizzare i prodotti.
{% for product in products %} ... {% end for %}
I prodotti visualizzati dipendono dalla pagina in cui la variabile è usata. Ad esempio in department.html
visualizza i prodotti del reparto, in wish-list.html
visualizza i prodotti della lista dei desideri del cliente.
Il tipo Breadcrumb
rappresenta i filtri attualmente applicati 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 {
// 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
}