disarci Posted December 18, 2011 Share Posted December 18, 2011 Ciao a tutti, mi chiedono spesso di avere i prodotti random in home page. Il modulo è homefeatured, file homefeatured.php andare alla riga: $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); sostituire con: $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10),NULL,NULL,false,true,true,($nb ? $nb : 10)); se vi chiedete cosa significa, basta aprire la function in classes/Category.php: public function getProducts($id_lang, $p, $n, $orderBy = NULL, $orderWay = NULL, $getTotal = false, $active = true, $random = false, $randomNumberProducts = 1, $checkAccess = true) quindi ho messo: random=true e il numero di prodotti= $nb se presente se no 10 1 Link to comment Share on other sites More sharing options...
Pepozzo Posted December 19, 2011 Share Posted December 19, 2011 mmm...continua a darmi: "Nessun prodotto in vetrina" Se invece inserisco nella categoria Home qualche prodotto, semplicemente me lo posiziona in modo random ad ogni refresh della pagina =/ Link to comment Share on other sites More sharing options...
guest* Posted December 30, 2011 Share Posted December 30, 2011 Grazie, funziona perfettamente - > 1.4.4.1 Link to comment Share on other sites More sharing options...
marovps Posted January 11, 2012 Share Posted January 11, 2012 ciao, la modifica funziona però ho questo problema: i blocchi dei prodotti in vetrina non sono della stessa misura e randomizandosi crea un disordine, in pratica i box non sono allineati e anche i tasti "visualizza" e aggiungi al carrrello" sono tutti sfalzati. avete un idea di come rimediare grazie Link to comment Share on other sites More sharing options...
k626 Posted February 16, 2012 Share Posted February 16, 2012 Grazie!! Link to comment Share on other sites More sharing options...
DeepVoid Posted March 17, 2012 Share Posted March 17, 2012 Fantastico, è una soluzione talmente comoda e intelligente che dovrebbe essere implementata direttamente nel core di Prestashop come opzione del modulo!!! Purtroppo modificare i file del core non è mai una buona idea, al primo aggiornamento tutte le modifiche vanno perdute :-( Link to comment Share on other sites More sharing options...
siciliashop2 Posted March 17, 2012 Share Posted March 17, 2012 Ciao a tutti, mi chiedono spesso di avere i prodotti random in home page. Il modulo è homefeatured, file homefeatured.php andare alla riga: $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); sostituire con: $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10),NULL,NULL,false,true,true,($nb ? $nb : 10)); se vi chiedete cosa significa, basta aprire la function in classes/Category.php: public function getProducts($id_lang, $p, $n, $orderBy = NULL, $orderWay = NULL, $getTotal = false, $active = true, $random = false, $randomNumberProducts = 1, $checkAccess = true) quindi ho messo: random=true e il numero di prodotti= $nb se presente se no 10 VISTO CHE OGNIUNO ESPRIME LA SUA OPINIONE POTETE POSTARE UNA SOLUZIONE CHE FUNZIONA (1.4.4.1) ???, POI NON HO CAPITO SE BISOGNA INNESTARE UN MODULO O INTERVENIRE SU QUALCHE MODULO GIà PRESENTE SU PRESTA .Falco Stellare ho visto i tuo store (complimenti) , ho notato che tutto funziona per il meglio Dove bisogna intervenire??? Grazie ! www.tipicosiciliano.com Link to comment Share on other sites More sharing options...
DeepVoid Posted March 17, 2012 Share Posted March 17, 2012 Ciao, grazie per i complimenti :-) Il sito ha pochi mesi di vita (è stato inaugurato poco prima di Natale scorso) e sto cercando ogni giorno di migliorarne l'aspetto, i contenuti, e le vendite ovviamente :-D Consiglio sulla netiquette: non scrivere tutto in stampatello, telematicamente equivale ad entrare in una stanza urlando come un ossesso, non è il miglior modo per farsi ascoltare :-) L'intervento di Disarci è un tipico intervento da programmatore professionista, che offre un consiglio tecnico utilizzando un linguaggio assolutamente tecnico, da addetto ai lavori. Anch'io sono un programmatore professionista, e ho letto e applicato il suggerimento di Disarci in circa sette secondi, compreso il deployment sul sito... Quanto ti intendi di programmazione? Disarci, tradotto in parole povere, suggeriva di alterare i parametri che un file php passa in real-time ad una funzione del core di Prestashop, in particolare la funzione che si occupa di effettuare la query sul database per prelevare l'elenco degli ultimi prodotti inseriti nella categoria "Home" (il sistema utilizzato da Prestashop per creare una categoria logica chiamata "homefeatured", i prodotti da schiaffare in vetrina, insomma). Nativamente il file homefeatured.php (posizionato in /modules/homefeatured/) passa alla funzione di query dei parametri che impongono di prelevare dal database gli ultimi prodotti inseriti, in ordine cronologico inverso (l'ultimo prodotto sarà il primo della lista). La modifica di Disarci permette invece di selezionare i prodotti inseriti nella categoria "Home" ordinandoli a caso (quindi non più in ordine temporale di inserimento); MySQL utilizza la clausola ORDER BY RAND() della funzione SELECT per ottenere questo risultato, spesso associato alla clausola LIMIT per non tirare giù tutto il database, quando non serve. Operativamente: apri il file /modules/homefeatured/homefeatured.php e cerchi la riga che contiene il seguente codice: $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10)); Nel mio caso, si tratta della riga n. 99 del file. Questa riga deve essere sostituita dall'alternativa proposta da Disarci, basta copiarla e incollarla sopra la riga originale, e diventa: $products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10), NULL,NULL,false,true,true,($nb ? $nb : 10)); (Ho spezzato la riga con un "a capo" per facilitare la lettura, questo non ha alcuna influenza sul funzionamento della riga di codice PHP). A questo punto salvi il file homefeatured.php e lo sostituisci alla versione online (effettua sempre una copia di sicurezza prima di modificare un file!). Tutto qua, ci vuole più tempo a dirlo che a farlo. Ovviamente, se sei un programmatore capisci anche cosa stai facendo, e perché. E questo a volte aiuta :-) Link to comment Share on other sites More sharing options...
DeepVoid Posted March 17, 2012 Share Posted March 17, 2012 i blocchi dei prodotti in vetrina non sono della stessa misura e randomizandosi crea un disordine, in pratica i box non sono allineati e anche i tasti "visualizza" e aggiungi al carrrello" sono tutti sfalzati "Sfalsati", con la "esse" Qui non è questione di PHP, ma di CSS. Devi creare un'incasellatura dei box che sia rigida, con un'altezza e una larghezza predeterminata, che non sia quindi influenzabile dai contenuti. Sul mio sito, per snellezza, ho rimosso tutti i pulsanti dai vari box, trovo che avere una schermata con mille pulsanti uguali sia fastidioso e penalizzi la facilità di lettura dei contenuti. La struttura rigida che ho creato produce una griglia regolare che non si sposta mai, a tutto vantaggio dell'impaginazione. Potenza dei CSS :-) Link to comment Share on other sites More sharing options...
siciliashop2 Posted March 18, 2012 Share Posted March 18, 2012 grazie, provo e faccio sapere......non ho capito come allegare foto nel nuovo forum...??? Link to comment Share on other sites More sharing options...
siciliashop2 Posted March 20, 2012 Share Posted March 20, 2012 Salve , ho cambiato la riga con Dreamweaver ed ho sostituito il file con FileZilla, ma la hom page la varica vuota. Dovevo fare qualche altro passaggio??? Link to comment Share on other sites More sharing options...
PEPPE83 Posted July 5, 2012 Share Posted July 5, 2012 Grazie ancora Disarci per i tuoi consigli, mi chiedevo se fosse possibile applicare questa procedura random anche al modulo "productscategory". Sarebbe il modulo che mostra altri prodotti della stessa categoria, il problema è che li mostra in ordine alfabetico facendo perdere visibilità ai prodotti alfabeticamente più "sfortunati Link to comment Share on other sites More sharing options...
Totti Posted July 10, 2012 Share Posted July 10, 2012 Quindi la modifica definitiva quale è ? Questa mette in vetrina random tutti i prodotti che abbiamo nel database ? Link to comment Share on other sites More sharing options...
PEPPE83 Posted July 10, 2012 Share Posted July 10, 2012 Totti cerco anche io una soluzione del genere, questa mod di disarci, anche se la più professionale e meno invasiva, permette il random dei prodotti già inseriti in home (o la categoria che si è settata nel file) Link to comment Share on other sites More sharing options...
lj1964 Posted July 19, 2012 Share Posted July 19, 2012 Ottima soluzione! proprio quello che cercavo. Grazie Disarci Link to comment Share on other sites More sharing options...
fededd21 Posted August 12, 2012 Share Posted August 12, 2012 provate con la soluzione al seguente post a me funziona molto bene... http://www.prestashop.com/forums/topic/182131-homefeatured-random-ogni-giorno/ 1 Link to comment Share on other sites More sharing options...
enzolarosa Posted January 5, 2013 Share Posted January 5, 2013 provata con la 1.5.3.1 e va alla grande.. 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