np6 Posted February 18, 2021 Share Posted February 18, 2021 Ciao a tutti, Su una versione 1.7 sto cercando di impostare di default l'ordinamento per quantità nonostante l'ordinamento selezionato. Ad es: se a frontend seleziono per Rilevanza o per Nome, da A a Z, dovrebbe comunque ordinarmi i prodotti in base anche alla quantità in senso decrescente. Sto provando a modificare la Classe Category.php come segue. Ma non sembra funzionare if ($random === true) { $sql .= ' ORDER stock.`quantity` '.(int)$randomNumberProducts; } else { $sql .= ' ORDER BY real_quantity.`quantity` > 0 DESC, '.(!empty($orderByPrefix) ? $orderByPrefix.'.' : '').'`'.bqSQL($orderyBy).'` '.pSQL($orderWay).' LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n; } Grazie Link to comment Share on other sites More sharing options...
Giuseppe C. Posted February 18, 2021 Share Posted February 18, 2021 Ciao, hai provato ad utilizzare l'impostazione nel pannetto Prestashop? Parametri Negozio -> Prodotti -> Paginazione -> Ordine di default https://pasteboard.co/JOVDXvo.png Link to comment Share on other sites More sharing options...
fedesib Posted February 18, 2021 Share Posted February 18, 2021 Ciao, innanzitutto sarebbe utile che tu dicessi quale funzione della classe Category stai cercando di modificare, io presuppongo sia getProducts. 2 hours ago, np6 said: if ($random === true) { significa che l'utente ha scelto per i prodotti un ordine casuale, quindi non credo sia pertinente modificare questa parte di codice, oltretutto non capisco cosa vuol dire 2 hours ago, np6 said: ORDER stock.`quantity` Per quanto riguarda la seconda parte della modifica, cosa sarebbe? 2 hours ago, np6 said: ORDER BY real_quantity.`quantity` La quantità è nella tabella ps_product che nella query di getProducts è rinominata come "p", "real_quantity" non esiste in PS come tabella, a meno che non l'abbia aggiunta tu, quindi al massimo la tua modifica andrebbe riscritta come ORDER BY p.quantity ecc. Non so esattamente come tu stai facendo questa modifica ma ti consiglio di usare un override. Buon pomeriggio, Federica Link to comment Share on other sites More sharing options...
np6 Posted February 18, 2021 Author Share Posted February 18, 2021 (edited) 23 minutes ago, fedesib said: Ciao, innanzitutto sarebbe utile che tu dicessi quale funzione della classe Category stai cercando di modificare, io presuppongo sia getProducts. significa che l'utente ha scelto per i prodotti un ordine casuale, quindi non credo sia pertinente modificare questa parte di codice, oltretutto non capisco cosa vuol dire Per quanto riguarda la seconda parte della modifica, cosa sarebbe? La quantità è nella tabella ps_product che nella query di getProducts è rinominata come "p", "real_quantity" non esiste in PS come tabella, a meno che non l'abbia aggiunta tu, quindi al massimo la tua modifica andrebbe riscritta come ORDER BY p.quantity ecc. Non so esattamente come tu stai facendo questa modifica ma ti consiglio di usare un override. Buon pomeriggio, Federica Ciao Federica, Si la funzione è getProducts. Ok per la tabella ps_product, si effettivamente non ho aggiunto la tabella "real_quantity" ho messo p.quantity come mi hai consigliato. Comunque si la modifica la sto facendo tramite override estendendo la classe Category. Nicolò Edited February 18, 2021 by np6 Adding informations (see edit history) 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