|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2012
Messaggi: 8
|
[PHP-MYSQL]Gestione categorie multiple multilingua
Ciao a tutti, ho un problema: per un sito in php multilingua che sto sviluppando ho bisogno di un database (mysql) contenente prodotti di ogni qualsivoglia genere.
A tale proposito mi sono posto il problema della suddivisione delle categorie e sottocagegorie, e ho trovato una classe free per php adatta al mio scopo: Unlimited sub-categories. La classe si appoggia su un unica tabella e tramite i suoi metodi è possibile creare categorie e sottocategorie senza limite di profondità. Cercando ancora un pò ho trovato un file MOLTO utile al mio scopo, un file excel di ben 23MB contenente tutte le categorie e sottocategorie di ebay, fino ad una profondità di 6 livelli, per ben 13 paesi. Il file si presenta così: http://i.imgur.com/BQCEy.png Come potete notare c'è una colonna all'inizio con l'ID della categoria poi 6 colonne in base alla profondità e alla fine due colonne per indicare la categoria principale e quella parent. Inoltre per i file dei paesi non in lingua inglese c'è una colonna in più "Translation" dove viene appunto riportata la traduzione in inglese della categoria corrispondente alla riga selezionata. A questo punto, io avevo pensanto di scrivere un semplice script in php che mi prendesse tutte le categorie e sottocategorie del foglio selezionato, usando la classe free Excel-Php reader, e le memorizzasse nel database MySql usando i metodi della classe Unlimited sub-categories, facendo una tabella "categorie" per ogni lingua diversa. Il problema di tutto questo è che per avere un'implementazione relativamente semplice nel codice, ovvero fare un unico "campo stampa" per la categoria, che viene poi stampato nella lingua selezionata, tutte le categorie e le sottocatorie dovrebbero avere lo stesso ID in ogni tabella di lingua differente. Questo è IL problema dato che l'ID category presente nel foglio excel è differente per quasi tutte le lingue. E anche cercando di usare come riferimento la colonna "Traduzione", prendendo prima tutte le categorie del foglio US, e poi per associazione di ID assegnato ad ognuna delle sue categorie, tramite la traduzione, andare ad assegnare lo stesso ID alle categorie di altre paesi, non funziona, perchè non tutti i paesi hanno le stesse categorie. Avete qualche soluzione per ovviare a questo problema? Ci sono molti siti che gestiscono categorie con diverse lingue, se avete qualche consiglio ve ne sarei molto grato. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2690
|
imho fai prima a lasciar perdere quel file. se gli id sono praticamente random finisci a perderci piu' tempo a cercare di farli quadrare che a trovare una soluzione alternativa
__________________
Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2010
Messaggi: 595
|
Facile:
mentre leggi su excel ID inserisci "IT" alla fine del ID però prima togli la colonna translator e poi fai un nuovo upload e inserisci "EN" per le cose tradotte negli ID... dovrebbe bastare |
|
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: Oct 2012
Messaggi: 22
|
Si, ma le categorie non sono identiche per ogni paese, sono differenti in numero e disposizione, e perciò non possono avere lo stesso id.
Visto che hai anche la traduzione in inglese puoi esportare tutto in csv (molto meglio che usare classi strambe), leggere il file, esploderlo, e crearti una bella tabella con la gerarchia, gli id, che eventualmente puoi anche ridefinire automaticamente per ordinarli ed accorciarli, traduzione in italiano ed in inglese. Per il resto il gioco non vale la candela. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:13.



















