da_dim Posted November 28, 2013 Share Posted November 28, 2013 Salve a tutti, avrei bisogno di un consiglio. Ho aggiunto una buona quantità di prodotti nel mio catalogo online di PrestaShop in una categoria generica. Adesso mi è stato chiesto di dividerli in diverse sottocategorie ma vorrei evitare di farlo uno per uno. Qualche consiglio? Grazie mille! Link to comment Share on other sites More sharing options...
elaborareauto Posted December 17, 2013 Share Posted December 17, 2013 ho anche io lo stesso problema ... tra l'altro sto provando a esposrtare e poi importare il csv aggiornato ma purtroppo su 100 prodotti ne cambia solo 1 al max 2 ignora tutti gli altri... Link to comment Share on other sites More sharing options...
assisassi Posted December 18, 2013 Share Posted December 18, 2013 l'importazione csv è una soluzione, ma bisogna configurare bene il file csv. io ho fatto una importazione corretta dopo decine di tentativi. Non so se serve svuotare i dati precedentemente (dopo due o tre backup ovviamente). La soluzione professionale sarebbe quella di utilizzare i moduli con gestione massiva dei dati. Di sicuro ce ne sono per lo scopo. La soluzione 'casereccia' che mi viene in mente più facilmente effettuabile è via PhpMyAdmin e con l'aiuto di openoffice o excell. La tabella da aggiornare è ps_category_product che ha 3 colonne id_category, id_product e position, e i dati sono numerici, quindi la creazione di un file csv (da importare via phpMyAdmin ) non è problematica. Ti scarichi i tuoi articoli da ps_product_lang, così hai il codice prodotto con la descrizione leggibile (se hai più lingue tieni solo quella in italiano) e le tue categorie da ps_category_lang (idem come sopra) A questo punto non dovrebbe essere complicato ricreare il nuovo collegamento con le categorie. ...ovviamente col modulo apposta è più semplice. Ciao e auguri Link to comment Share on other sites More sharing options...
elaborareauto Posted December 18, 2013 Share Posted December 18, 2013 l'importazione csv è una soluzione, ma bisogna configurare bene il file csv. io ho fatto una importazione corretta dopo decine di tentativi. Non so se serve svuotare i dati precedentemente (dopo due o tre backup ovviamente). La soluzione professionale sarebbe quella di utilizzare i moduli con gestione massiva dei dati. Di sicuro ce ne sono per lo scopo. La soluzione 'casereccia' che mi viene in mente più facilmente effettuabile è via PhpMyAdmin e con l'aiuto di openoffice o excell. La tabella da aggiornare è ps_category_product che ha 3 colonne id_category, id_product e position, e i dati sono numerici, quindi la creazione di un file csv (da importare via phpMyAdmin ) non è problematica. Ti scarichi i tuoi articoli da ps_product_lang, così hai il codice prodotto con la descrizione leggibile (se hai più lingue tieni solo quella in italiano) e le tue categorie da ps_category_lang (idem come sopra) A questo punto non dovrebbe essere complicato ricreare il nuovo collegamento con le categorie. ...ovviamente col modulo apposta è più semplice. Ciao e auguri Ciao mi sai dare un nominativo di un modulo che fa più a caso mio? il problema e che ho più di 20 mila articoli in una categoria che dovrei distribuire in più categorie , in phpmyadmin mi scarica tutti e 20mila insieme mi risulta poi difficile filtrarli per collegarli alla categoria apposita. Grazie mille Link to comment Share on other sites More sharing options...
assisassi Posted December 18, 2013 Share Posted December 18, 2013 (edited) Per il modulo prova a fare una ricerca sugli addons di Prestashop, io non ne conosco nessuno. in genere c'è sempre una demo per vedere se fa al caso tuo. Ma se è come dici, cioè 20 mila articoli in una categoria sola, da distribuire poi in + categorie, temo che hai da fare comunque. Io resto dell'idea che con un foglio elettronico riesci a fare lo stesso lavoro anche + rapidamente. Non so di che articoli si tratta, ma devi considerare il fatto che l'unico aiuto che hai per aggregare i tuoi prodotti viene dall'ordinamento alfabetico del nome e forse della descrizione del prodotto (ma se ci fosse qualcos'altro, ben venga). Pertanto questo è l'unico aiuto che hai per aggiornare una serie di prodotti più o meno grande alla volta, tutto il resto uno per uno!!! La procedura sarebbe più o meno questa: Una volta scaricata la tabella ps_product_lang, e caricata sul foglio elettronico, va ripulita da tutto ciò che non serve (altre lingue e tutte le colonne non significative, presumibilmente da conservare 'name', 'description' e/o 'description_short' e naturalmente 'id_product', che sposterei, come colonna, tutto a destra. A dx di questa, creerei le colonne 'id_category' e 'position', quest'ultima assegna l'ordine di visualizzazione standard dei prodotti, e consiste in una serie di numeri crescenti partendo da 0 per ogni categoria e quindi questa sequenza la creiamo a lavoro finito. le categorie nuove saranno una decina, e comunque un numero limitato. Le creiamo con prestashop e ci segnamo i rispettivi codici (si, possiamo tranquillamente segnarcele o stamparle su un foglietto per sapere che a quella categoria corrisponde quel numero). A questo punto ordiniamo la tabella per 'name' e per 'description' e speriamo che ci siano molti prodotti a fila ai quali assegnare lo stesso codice categoria. Se proprio vogliamo farci male, possiamo duplicare tutti quegli articoli ai quali volessimo assegnare + di una categoria, visto che PS lo consente. Finito questo lavoro, possiamo eliminare le colonne superflue, lasciando solo le tre che ci occorrono, ma dobbiamo ancora assegnare i valori a 'position'. Dal momento che sono tutte categorie nuove, possiamo continuare a lavorare su questa tabella, (in caso contrario bisogna accodare anche la tabella ps_category_product originale, per continuare le sequenze già presenti). Ordiniamo per id_category e riempiamo la colonna 'position' con una sequenza di numeri partendo da 0 in corrispondenza di ogni categoria (oppure, se abbiamo accodato, dobbiamo continuare la sequenza originale, che abbiamo precedentemente ordinato). Il lavoro è finito. va salvato in csv il lavoro ottenuto ed importato nella famosa tabella ps_category_product, accodandolo ai dati già presenti, (oppure, se già avevi accodato, va svuotata la vecchia tabella per importare poi il tuo csv). Mi sembra fattibile. Edited December 18, 2013 by assisassi (see edit history) Link to comment Share on other sites More sharing options...
elaborareauto Posted December 19, 2013 Share Posted December 19, 2013 Per il modulo prova a fare una ricerca sugli addons di Prestashop, io non ne conosco nessuno. in genere c'è sempre una demo per vedere se fa al caso tuo. Ma se è come dici, cioè 20 mila articoli in una categoria sola, da distribuire poi in + categorie, temo che hai da fare comunque. Io resto dell'idea che con un foglio elettronico riesci a fare lo stesso lavoro anche + rapidamente. Non so di che articoli si tratta, ma devi considerare il fatto che l'unico aiuto che hai per aggregare i tuoi prodotti viene dall'ordinamento alfabetico del nome e forse della descrizione del prodotto (ma se ci fosse qualcos'altro, ben venga). Pertanto questo è l'unico aiuto che hai per aggiornare una serie di prodotti più o meno grande alla volta, tutto il resto uno per uno!!! La procedura sarebbe più o meno questa: Una volta scaricata la tabella ps_product_lang, e caricata sul foglio elettronico, va ripulita da tutto ciò che non serve (altre lingue e tutte le colonne non significative, presumibilmente da conservare 'name', 'description' e/o 'description_short' e naturalmente 'id_product', che sposterei, come colonna, tutto a destra. A dx di questa, creerei le colonne 'id_category' e 'position', quest'ultima assegna l'ordine di visualizzazione standard dei prodotti, e consiste in una serie di numeri crescenti partendo da 0 per ogni categoria e quindi questa sequenza la creiamo a lavoro finito. le categorie nuove saranno una decina, e comunque un numero limitato. Le creiamo con prestashop e ci segnamo i rispettivi codici (si, possiamo tranquillamente segnarcele o stamparle su un foglietto per sapere che a quella categoria corrisponde quel numero). A questo punto ordiniamo la tabella per 'name' e per 'description' e speriamo che ci siano molti prodotti a fila ai quali assegnare lo stesso codice categoria. Se proprio vogliamo farci male, possiamo duplicare tutti quegli articoli ai quali volessimo assegnare + di una categoria, visto che PS lo consente. Finito questo lavoro, possiamo eliminare le colonne superflue, lasciando solo le tre che ci occorrono, ma dobbiamo ancora assegnare i valori a 'position'. Dal momento che sono tutte categorie nuove, possiamo continuare a lavorare su questa tabella, (in caso contrario bisogna accodare anche la tabella ps_category_product originale, per continuare le sequenze già presenti). Ordiniamo per id_category e riempiamo la colonna 'position' con una sequenza di numeri partendo da 0 in corrispondenza di ogni categoria (oppure, se abbiamo accodato, dobbiamo continuare la sequenza originale, che abbiamo precedentemente ordinato). Il lavoro è finito. va salvato in csv il lavoro ottenuto ed importato nella famosa tabella ps_category_product, accodandolo ai dati già presenti, (oppure, se già avevi accodato, va svuotata la vecchia tabella per importare poi il tuo csv). Mi sembra fattibile. Ottimo grazie mille. eventualmente il csv che importo deve avere per forza tutte le righe che sono riportare nel db , oppure posso mandare posso mandare anche il csv con i soli id che mi interessano? Grazie mille Link to comment Share on other sites More sharing options...
elaborareauto Posted December 19, 2013 Share Posted December 19, 2013 Per il modulo prova a fare una ricerca sugli addons di Prestashop, io non ne conosco nessuno. in genere c'è sempre una demo per vedere se fa al caso tuo. Ma se è come dici, cioè 20 mila articoli in una categoria sola, da distribuire poi in + categorie, temo che hai da fare comunque. Io resto dell'idea che con un foglio elettronico riesci a fare lo stesso lavoro anche + rapidamente. Non so di che articoli si tratta, ma devi considerare il fatto che l'unico aiuto che hai per aggregare i tuoi prodotti viene dall'ordinamento alfabetico del nome e forse della descrizione del prodotto (ma se ci fosse qualcos'altro, ben venga). Pertanto questo è l'unico aiuto che hai per aggiornare una serie di prodotti più o meno grande alla volta, tutto il resto uno per uno!!! La procedura sarebbe più o meno questa: Una volta scaricata la tabella ps_product_lang, e caricata sul foglio elettronico, va ripulita da tutto ciò che non serve (altre lingue e tutte le colonne non significative, presumibilmente da conservare 'name', 'description' e/o 'description_short' e naturalmente 'id_product', che sposterei, come colonna, tutto a destra. A dx di questa, creerei le colonne 'id_category' e 'position', quest'ultima assegna l'ordine di visualizzazione standard dei prodotti, e consiste in una serie di numeri crescenti partendo da 0 per ogni categoria e quindi questa sequenza la creiamo a lavoro finito. le categorie nuove saranno una decina, e comunque un numero limitato. Le creiamo con prestashop e ci segnamo i rispettivi codici (si, possiamo tranquillamente segnarcele o stamparle su un foglietto per sapere che a quella categoria corrisponde quel numero). A questo punto ordiniamo la tabella per 'name' e per 'description' e speriamo che ci siano molti prodotti a fila ai quali assegnare lo stesso codice categoria. Se proprio vogliamo farci male, possiamo duplicare tutti quegli articoli ai quali volessimo assegnare + di una categoria, visto che PS lo consente. Finito questo lavoro, possiamo eliminare le colonne superflue, lasciando solo le tre che ci occorrono, ma dobbiamo ancora assegnare i valori a 'position'. Dal momento che sono tutte categorie nuove, possiamo continuare a lavorare su questa tabella, (in caso contrario bisogna accodare anche la tabella ps_category_product originale, per continuare le sequenze già presenti). Ordiniamo per id_category e riempiamo la colonna 'position' con una sequenza di numeri partendo da 0 in corrispondenza di ogni categoria (oppure, se abbiamo accodato, dobbiamo continuare la sequenza originale, che abbiamo precedentemente ordinato). Il lavoro è finito. va salvato in csv il lavoro ottenuto ed importato nella famosa tabella ps_category_product, accodandolo ai dati già presenti, (oppure, se già avevi accodato, va svuotata la vecchia tabella per importare poi il tuo csv). Mi sembra fattibile. allora ci sono riuscito l'unico problema ora mi trovo l'oggetto in doppia categoria sia nella categoria creata sia nella categoria precedente , dov'è l'errore? forse dovevo spuntare qualche casella? Grazie mille Link to comment Share on other sites More sharing options...
assisassi Posted December 19, 2013 Share Posted December 19, 2013 nella mia lunga spiegazione avevo sorvolato il fatto che tutto il lavoro che fai aggiunge prodotti alle varie categorie. La tabella id_category_product ha senso proprio per permettere che un prodotto possa essere assegnato a più categorie, sia che si tratti di sottocategorie che di altre categorie distinte. (in databasese si tratta di un collegamento molti-a-molti). Ogni riga permette di associare quel prodotto a quella categoria attraverso i rispettivi id. Per eliminare i vecchi collegamenti devi individuare le rispettive righe ed eliminarle. Nel caso (fortunato) che la vecchia categoria madre non debba avere nessun prodotto (per es. solo sottocategorie), puoi facilmente effettuare questa operazione con un semplice comando sql: Con PhpMyAdmin ti porti nella solita tabella, selezioni la scheda 'SQL' e nell'apposito riquadro digiti: SELECT * FROM `ps_category_product` WHERE `id_category` =2 dove 2 è il codice della categoria che ti interessa. Questo comando è completamente innoquo, ti permette di mostrare tutte le righe della tua tabella che contengono quel valore. Per eliminarle tutte puoi ripetere il comando sql sostituendo 'SELECT *' con 'DELETE', oppure selezionando tutto ed eliminare i selezionati. Link to comment Share on other sites More sharing options...
elaborareauto Posted December 19, 2013 Share Posted December 19, 2013 nella mia lunga spiegazione avevo sorvolato il fatto che tutto il lavoro che fai aggiunge prodotti alle varie categorie. La tabella id_category_product ha senso proprio per permettere che un prodotto possa essere assegnato a più categorie, sia che si tratti di sottocategorie che di altre categorie distinte. (in databasese si tratta di un collegamento molti-a-molti). Ogni riga permette di associare quel prodotto a quella categoria attraverso i rispettivi id. Per eliminare i vecchi collegamenti devi individuare le rispettive righe ed eliminarle. Nel caso (fortunato) che la vecchia categoria madre non debba avere nessun prodotto (per es. solo sottocategorie), puoi facilmente effettuare questa operazione con un semplice comando sql: Con PhpMyAdmin ti porti nella solita tabella, selezioni la scheda 'SQL' e nell'apposito riquadro digiti: SELECT * FROM `ps_category_product` WHERE `id_category` =2 dove 2 è il codice della categoria che ti interessa. Questo comando è completamente innoquo, ti permette di mostrare tutte le righe della tua tabella che contengono quel valore. Per eliminarle tutte puoi ripetere il comando sql sostituendo 'SELECT *' con 'DELETE', oppure selezionando tutto ed eliminare i selezionati. il problema e che sto lavorando a 300 prodotti la volta usando il comando cancello la categoria contenente ancora altri prodotti giusto?? come faccio ad applicare il comando ai soli prodotti che ho duplicato di categoria? Grazie ancora Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now