Jump to content

Interrogare il DB di Prestashop


DeepVoid

Recommended Posts

Salve a tutti. Sto realizzando un sito web aziendale che ospiterà, in una sua sottosezione, un'ecommerce basato su Prestashop.

Mi stavo chiedendo come fare per mostrare sulla homepage del sito uno dei prodotti (random) del database di Prestashop. Dovrei in pratica creare una query che recuperi dal DB di Prestashop il nome del prodotto, la sua immagine, e il link per raggiungerlo nello shop online.

Mi potete dare qualche dritta? Non conosco la struttura del database, e non so da dove partire.

Grazie per qualsiasi suggerimento! :-)

Link to comment
Share on other sites

  • 4 weeks later...

L'istruzione per avere l'elenco dei prodotti è:

$prods=Product::getProducts($id_lang, $start, $limit, $oderBy, $orderWay, $id_category, $only_active);

che carica la matrice $prods,

se invece vuoi scriverti tu la query:

$qry='
       SELECT p.*, pl.* 
       FROM `'._DB_PREFIX_.'product` p
       LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product`)
       '
       WHERE pl.`id_lang` = '.intval($id_lang).' AND p.`active` = 1' 
       ORDER BY RANDOM LIMIT 0,5';

       $prods = Db::getInstance()->ExecuteS($qry);


(scritta a caso....ma puoi correggerla)

dopo questo dalla tabella image devi prenderti l'immagine di default (default=1) (con id prodotto=id_product) e nome immagine:
id_product-id_immagine-large.jpg

e il link lo costruisci con l'id_product

Link to comment
Share on other sites

  • 4 months later...

1) puoi modificare la query originale e, ovviamente, avresti problemi negli aggiornamenti - aggiungendo un parametro in più in chiamata -

2) puoi filtrare i risultati a posteriori, buon metodo ma più pesante

3) ricopiare la query, tenendo solo le cose utili, questo è di sicuro il metodo più "prestante"

Link to comment
Share on other sites

Ciao disarci

grazie per la risposta...

il terzo metodo mi pare il migliore :P

ho copiato la query della funzione getProducts nel file php del modulo adattandola un pò poi ho assegnato i il risultato a una variabile smarty che richiamo nel tpl...
Forse inizio ad orientarmi :)

Ancora grazie
zio

Link to comment
Share on other sites

  • 2 years later...

Ciao a tutti da poco ho iniziato ad usare Prestashop, scusate se uppo questo post ma è l'unico che ho trovato che parla del mio stesso problema.

 

Mi sono bloccato sulla costruzione del link dell'immagine, in breve il cliente per cui sto sviluppando il sito mi chiede di far comparire sulla home page del portale i prodotti della categoria home, prestashop si trova in una sottocartella. Leggendo i vari post ho fatto una query che interroga il db e visualizza il prodotto in home page, però per le immagini non riesco a capire come ricostruire il link.

 

Da quello che ho capito prestashop assegna il nome all'immagine combinando id_product e id_image seguita da home_default.jpg, nella struttura delle sottocartelle mi trovo una cosa del genere:

 

p/1/5/15-home_default.jpg

 

come ricavare il "5" del path? non avendo il tracciato del db non so a quale campo appartiene.

 

l'id_image di quel prodotto nel db è 15, l'unica cosa che mi viene in mente è:

fare un substr dell'id_image per poter ricavare il "5" del link o esiste un metodo più semplice per ricavarlo?

 

non so se sono stato abbastanza chiaro nella spiegazione :unsure:

 

Ciao alla prossima

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...