Originariamente inviato da Alberto.b
Non riesco a venire a capo di questo problema, non so come gestire le categorie.

Anche dividendole in macrotipi sarebbero comunque un sacco.

Se può essere utile, ecco le categorie:

CategorieIT file excel

Ovviamente alcune sottocategorie di livello 4 (tipo alcune marche) non servono e le cancellerò.

Sto anche pensando che aggiungere N campi alla tabella prodotti quante sarebbero le caratteristiche di tutti i tipi di prodotti forse non è la soluzione migliore, come alternativa mi viene in mente di creare una tabella "caratteristiche" con un id univoco per ogni caratteristica e poi in una tabella "prodTofeature" collego i prodotti alle proprie caratteristiche.

Es tabella prodTofeature

ID_PRODFEATURE - IDPROD - FKFEATURE1 - FEATURE2VALUE- ... - FKFEATURE N - FEATURENVALUE

Le due tabelle le creerei dinamicamente al momento dell'inserimento dei prodotti con i dovuti controlli in caso di esistenza.

Comunque, una domanda semplice: come fanno gli e-shop a gestire questo problema?
dipende, tendenzialmente usano un solo tipo di prodotto con proprietà "standard" e magari giusto due tre customizzazioni per aggiungere qualcosa di specifico. Oppure tu hai un'area amministrativa dove crei l'oggetto prodotto associando ad un prodotto base delle proprietà e salvandotelo come modello ( che ne so, dici che il prodotto "abbigliamento" ha la proprietà "taglia" di tipo "String")

quindi alla fine avresti una tabella prodotto, una tabella prodotto_features composta da id, feature_name, feature_value, feature_type, id_prodotto e in base a quello stampi. es:

codice:
'oggetto Macchina
prodotto:
id: 1
prezzo: 100000
type: Automobilismo

prodotto_features:
id_prodotto: 1
feature_name: Cilindrata
feature_value: 3000
feature_type: Numeric
id: 1

id_prodotto: 1
feature_name: Colore
feature_value: Rosso,Blue,Giallo
feature_type: String[]
id: 2
---


'oggetto Vestito
prodotto:
id: 2
prezzo: 50
type: Abbigliamento

prodotto_features
id_prodotto: 2
feature_name: Taglia
feature_value: S,M
feature_type: String[]
id: 3
....
....
Quindi in fase di settaggio dell'applicazione ti crei N modelli di prodotto con quelle che saranno le features_name ( non parlo quindi di prodotto e prodotto_features, ma tabella per i modelli, che so prodotto_models e prodottto_models_features), poi quando inserisci un nuovo prodotto, selezioni il tipo di prodotto (abbigliamento, alimentari, etc...) e la form di inserimento si modificherà per farti inserire le prodotto_features necessarie. In fase di visualizzazione, o usi una view uguale per ogni prodotto, considerando che le features per ogni prodotto sono in una tabella a parte facilmente reperibili, oppure se vuoi dare più libertà di personalizzazione, crei una view diversa per ogni tipologia di prodotto che hai inserito. Tutto questo puoi farlo hardcoded oppure creare un pannello di controllo per la gestione dei modelli e dei template di view, ma si va off topic poi.

Vedi un pò te...

altrimenti ti prendi un eshop già pronto come Magento e Prestashop e vedi come fanno loro e copi...anche se non è detto che loro facciano le cose fatte bene o che come le fanno loro sia come le vuoi te.

Se poi il lavoro è tanto.... beh, mica te l'ha ordinato il medico di fare Ebay 2 la vendetta