Alex.Vt Posted April 12, 2021 Share Posted April 12, 2021 Smanettando un po' con il Mysql Admnistrator ho trovato la tabella _image dove sono tutti i collegamenti con le immagini dei prodotti e grazie a questa query trovata in rete me le sono estratte : SELECT p.`ean13` , p.`price`, p.id_product, concat( 'https://xxx/img/p/',mid(`i`.`id_image`,1,1),'/', if (length(`i`.`id_image`)>1,concat(mid(`i`.`id_image`,2,1),'/'),''), if (length(`i`.`id_image`)>2,concat(mid(`i`.`id_image`,3,1),'/'),''), if (length(`i`.`id_image`)>3,concat(mid(`i`.`id_image`,4,1),'/'),''), if (length(`i`.`id_image`)>4,concat(mid(`i`.`id_image`,5,1),'/'),''), `i`.`id_image`,'-large_default.jpg') AS image FROM `pske_product` `p` JOIN `pske_image` `i` ON `p`.`id_product` = `i`.`id_product` Modificandola opportunamente : SELECT p.`ean13` , p.`price`, p.id_product, concat( 'https://xxx/shop/img/p/',mid(`i`.`id_image`,1,1),'/', if (length(`i`.`id_image`)>1,concat(mid(`i`.`id_image`,2,1),'/'),''), if (length(`i`.`id_image`)>2,concat(mid(`i`.`id_image`,3,1),'/'),''), if (length(`i`.`id_image`)>3,concat(mid(`i`.`id_image`,4,1),'/'),''), if (length(`i`.`id_image`)>4,concat(mid(`i`.`id_image`,5,1),'/'),''), if (length(`i`.`id_image`)>5,concat(mid(`i`.`id_image`,6,1),'/'),''), if (length(`i`.`id_image`)>6,concat(mid(`i`.`id_image`,7,1),'/'),''), if (length(`i`.`id_image`)>7,concat(mid(`i`.`id_image`,8,1),'/'),''), if (length(`i`.`id_image`)>8,concat(mid(`i`.`id_image`,9,1),'/'),''), if (length(`i`.`id_image`)>9,concat(mid(`i`.`id_image`,10,1),'/'),''), `i`.`id_image`,'-large_default.jpg') AS image FROM `pske_product_attribute` `p` JOIN `pske_product_attribute_image` `i` ON `p`.`id_product_attribute` = `i`.`id_product_attribute` Estraggo le immagini di copertina delle combinazioni , il problema e che non sono riuscito a trovare dove archivia il collegamento delle altre immagini collegate alle singole combinazioni , qualcuno ha qualche idea o lo sa' ? Link to comment Share on other sites More sharing options...
Giuseppe C. Posted April 13, 2021 Share Posted April 13, 2021 Ciao, sono nella tabella product_attribute_image. Devi modificare la select: SELECT p.`ean13` , p.`price`, p.id_product, p.id_product_attribute,... Link to comment Share on other sites More sharing options...
Alex.Vt Posted April 13, 2021 Author Share Posted April 13, 2021 Giuseppe C. se leggi la seconda query e' quella da cui ho estratto le immagina ma li non ci sono tutte , visto che per le combinazioni ho almeno 2 immagini per articolo e con quella query me ne tira fuori la meta' e in quella tabella ho 140 record quando dovrebbero essercene almeno 310/320 . Link to comment Share on other sites More sharing options...
Giuseppe C. Posted April 13, 2021 Share Posted April 13, 2021 Ciao, hai aggiunto il valore il campo p.id_product_attribute? Testato la tua query su db. Prodotto con id 34 ha la combinazione colore nero (id_product_attribute = 34) associata a 3 immagini: Link to comment Share on other sites More sharing options...
Alex.Vt Posted April 13, 2021 Author Share Posted April 13, 2021 Il problema e che io ho 500 e spicci combinazioni ognuna con la sua immagine e in quella tabella invece ci sono solo 140 record, quindi qualcosa non quadra. Link to comment Share on other sites More sharing options...
Giuseppe C. Posted April 13, 2021 Share Posted April 13, 2021 Quella è la sola tabella Prestashop relativa alle img combinazioni. La tua query, eseguita su una installazione standard Prestashop, restituiesce il numero esatto di record. Ti chiedo: 1) Nelle singole combinazioni risultano selezionate le img? 2) Utilizzi moduli terzi per gestire combinazioni o img? Link to comment Share on other sites More sharing options...
Alex.Vt Posted April 13, 2021 Author Share Posted April 13, 2021 Scusate post inutile , ho fatto dei controlli i record sono giusti , chiedi scusa a Giuseppe C. che ha perso tempo dietro a me' , fatto un controllo usando la query : select table_schema as database_name, table_name, update_time from information_schema.tables tab where update_time > (current_timestamp() - interval 30 day) and table_type = 'BASE TABLE' and table_schema not in ('information_schema', 'sys', 'performance_schema','mysql') -- and table_schema = 'your database name' order by update_time desc Effettivamente modifica alcune tabelle ma la principale rimane quella Ps_product_attribute_image dove memorizza le immagini associate alle varie combinazioni e li dai test fatti alla fine ci sono tutte le immagini associate alle combinazioni . Link to comment Share on other sites More sharing options...
Giuseppe C. Posted April 13, 2021 Share Posted April 13, 2021 Bene Ti stavo per scrivere questo.... La tabella pske_product_attribute_image viene utilizzata solo e solo se le combinazioni hanno selezionato, nella scheda modifica combinazione, le img da utilizzare. Senza selezione non viene inserito nessun record in questa tabella e la combinazione online mostra automaticamente tutte le immagine collegate al prodotto. 1 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