Progettazione sito e-commerce
Progettazione sito e-commerce
Un'alternativa molto utilizzata tanti anni fa era quella della creazione di siti web che utilizzavano FRAME, tecnica col tempo diventata obsoleta.
Si e' passato successivamente all'inclusione di codice esterno nelle pagine dei siti, codice che faceva ovviamente riferimento ai menu' del sito web.
Le piu' recenti tecniche di programmazione prevedono invece l'uso di tecniche dinamiche attraverso l'utilizzo dei Database.
Riporto di seguito la mia piu' recente struttura per la gestione di menu' che sono raggruppati in categorie; l'attributo ORD serve per poter dare un ordine ai record, mentre l'attributo GROUP serve ad associare una categoria ad ogni menu.
- Allegati
-
[L’estensione jpg è stata disattivata e non può essere visualizzata.]
Re: Progettazione di Menu' per siti web
Tabella Menu
Codice: Seleziona tutto
CREATE TABLE Menu
(
id_menu INTEGER NOT NULL DEFAULT 1 AUTO_INCREMENT,
name_menu VARCHAR(64) NOT NULL,
link_menu VARCHAR(128) NOT NULL,
image_menu VARCHAR(128) NOT NULL,
ord_menu SMALLINT NOT NULL,
group_menu INTEGER NOT NULL,
PRIMARY KEY (id_menu),
UNIQUE (link_menu),
KEY (group_menu)
)
;
Codice: Seleziona tutto
CREATE TABLE Categorie
(
id_cat INTEGER NOT NULL DEFAULT 1 AUTO_INCREMENT,
name_cat VARCHAR(64) NOT NULL,
link_cat VARCHAR(128) NOT NULL,
ord_cat SMALLINT NOT NULL,
PRIMARY KEY (id_cat),
UNIQUE (link_cat)
)
;
Codice: Seleziona tutto
ALTER TABLE Menu ADD CONSTRAINT FK_Menu_Categorie
FOREIGN KEY (group_menu) REFERENCES Categorie (id_cat)
;
Re: Progettazione varianti dei prodotti
Gli attributi "valore_opzione" e "etichetta_valore" sono necessari ai fini dela creazione della select nel codice html, mentre "prezzo_opzione" tiene conto del fatto che alcune varianti possono incidere sul prezzo d'acquisto del prodotto.
- Allegati
-
[L’estensione jpg è stata disattivata e non può essere visualizzata.]
Re: Progettazione sito e-commerce
Codice: Seleziona tutto
CREATE TABLE opzione
(
id_opzione INTEGER UNSIGNED NOT NULL DEFAULT 1 AUTO_INCREMENT,
nome_opzione INTEGER UNSIGNED NOT NULL,
valore_opzione VARCHAR(50) NOT NULL,
etichetta_valore VARCHAR(128) NOT NULL,
prezzo_opzione DECIMAL(10,2) NOT NULL DEFAULT 0,
PRIMARY KEY (id_opzione),
KEY (nome_opzione)
)
;
Codice: Seleziona tutto
CREATE TABLE opzione_etichetta
(
id_etichetta INTEGER UNSIGNED NOT NULL DEFAULT 1 AUTO_INCREMENT,
etichetta VARCHAR(255) NOT NULL,
PRIMARY KEY (id_etichetta),
UNIQUE UQ_opzione_etichetta_etichetta(etichetta)
)
;
Codice: Seleziona tutto
CREATE TABLE pro_opz
(
prodotto INTEGER UNSIGNED NOT NULL,
opzione INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (prodotto, opzione),
KEY (opzione),
KEY (prodotto)
)
;
Codice: Seleziona tutto
CREATE TABLE prodotto
(
id_prodotto INTEGER UNSIGNED NOT NULL DEFAULT 1 AUTO_INCREMENT,
PRIMARY KEY (id_prodotto)
)
;
Codice: Seleziona tutto
ALTER TABLE opzione ADD CONSTRAINT FK_nome_opzione
FOREIGN KEY (nome_opzione) REFERENCES opzione_etichetta (id_etichetta)
ON UPDATE CASCADE
;
Codice: Seleziona tutto
ALTER TABLE pro_opz ADD CONSTRAINT FK_opzione
FOREIGN KEY (opzione) REFERENCES opzione (id_opzione)
ON DELETE CASCADE ON UPDATE CASCADE
;
Codice: Seleziona tutto
ALTER TABLE pro_opz ADD CONSTRAINT FK_prodotto
FOREIGN KEY (prodotto) REFERENCES prodotto (id_prodotto)
ON DELETE CASCADE ON UPDATE CASCADE
;
Re: Progettazione sito e-commerce
L'ho caratterizzato nel seguente modo:
Codice: Seleziona tutto
description VARCHAR(255) NOT NULL,
In asp un esempio potrebbe essere:
Codice: Seleziona tutto
<meta name="description" content="<%=description%>">
- Allegati
-
[L’estensione png è stata disattivata e non può essere visualizzata.]
Re: Progettazione sito e-commerce
L'attributo e' sempre caratterizzato nello stesso modo:
Codice: Seleziona tutto
description VARCHAR(255) NOT NULL,
Questa e' la tabella aggiornata:
- Allegati
-
[L’estensione jpg è stata disattivata e non può essere visualizzata.]