Jump to content
Uncino61

Aggiornamento prezzi con 2 semplici query sql

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More