Jump to content

Aggiornamento prezzi con 2 semplici query sql


Uncino61

Recommended Posts

Buongiorno a tutti.

 

E' mia opinione che una delle cose piu' importanti da considerare nell'allestire uno shop, soprattutto se con molti prodotti, sia la possibilita' di aggiornare i prezzi in velocita' quando escono i listini dei fornitori.

 

Con Prestashop stiamo facendo un progetto ormai in stato avanzato e io faccio cosi'

 

1 - innanzitutto allestendo il negozio ho assegnato ad ogni prodotto un attributo o combinazione di attributi. Anche ai prodotti senza variazioni, ho assegnato una variazione, in questo caso nel menu a tendina del prodotto lato negozio compare solo una variazione e si puo' scegliere solo quella: si puo' vedere qui due esempi:

 

http://bit.ly/2yNqNFG

 

e

 

http://bit.ly/2y6nEDc

 

I prezzi delle combinazioni sono purtroppo gestiti in due tabelle:

 

ps_product_attribute

e

ps_product_attribute_shop (principalmente)

 

 

2 - Ho fatto un file excel dove il campo "reference" della prima tabella (che corrispode anche al codice del prodotto o se vogliamo SKU che vado ad aggiornare elaborando il file del listino del mio fornitore) e' relazionato col campo id_product_attribute della seconda tabella. (by the way, lo gestisco con una tabella sql personalizzata e slegata dal db prestashop, per comodita di aggiornamento)

 

3 - Ho quindi elaborato questo semplice foglio di excel per scrivere in pochi secondi le 40.000 query sql che mi servono per aggiornare al volo e senza errori le mie 20.000 combinazioni (lo allego al post in modo che vediate la formuletta)

 

la struttura delle due query e':

 

devo assegnare il nuovo prezzo di 2.08 euro al prodotto codice 01.018.04 (che ha come id attributo 249)

 

update ps_product_attribute set price = 2.08 where reference = '01.018.04';

 

e

 

update ps_product_attribute_shop set price = 2.08 where id_product_attribute = 249;

Sul mio server inserisco prima le 20.000 di una tabella e poi le 20.000 dell'altra, ma e' un dedicato e non e' esattamente un server economico. Suggerisco di fare magari in piu' riprese a seconda delle prestazioni a disposizione.

 

Questo vale per singolo shop, se uno ha multistore installation dovra' settare i prezzi a seconda dello shop, ma e' una operazione molto semplice a livello di query sql.

 

solite raccomandazioni... bk, dump del db e via dicendo...o duplicare le tabelle e lavorare sui duplicati (questa la query per duplicare le tabelle: CREATE TABLE nuova_tabella SELECT * FROM vecchia_tabella )

 

Io sono nuovissimo con Presta, e' il primo progetto che facciamo e non ho ancora chiare alcune cose:

ad esempio come mai i prezzi (e i pesi) delle combinazioni siano scritti in due tabelle, anche se poi quella che effettivamente comanda e' la seconda. A cosa serve la prima tabella? Io la aggiorno per "ignoranza" magari e' un passo che si puo' saltare. Qualcuno lo sa?? In una installazione multistore secondo me la prima non serve assolutamente a nulla, quindi vista la struttura della seconda tabella non credo serva amolto anche in una installazione per single store.

 

Moduli acquistati: zero
Costo dell'operazione: zero
Possibilita' di errori: zero

 

Bye!

 

Silvano

 

 

 

Aggiornameno prezzi 2018 Prestashop.zip

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...