fibo Posted March 13, 2018 Share Posted March 13, 2018 Salve a tutti, ho notato un comportamento anomalo in Prestashop 1.6.14 che sto provando in un'installazione locale. Ho creato una regola nei prezzi, in modo da ottenere uno sconto del 10% se si acquistano più di 3 prodotti. Il problema si verifica nella pagina del prodotto. Quando si incrementa la quantità e si arriva alla quantità necessaria ad avere lo sconto, il prezzo viene aggiornato a 0€. Ho cercato nel file product.tpl Il codice che gestisce l'aggiornamento dello sconto è questo: <p id="reduction_percent" {if $productPriceWithoutReduction <= 0 || !$product->specificPrice || $product->specificPrice.reduction_type != 'percentage'} style="display:none;"{/if}> {strip} <span id="reduction_percent_display"> {if $product->specificPrice && $product->specificPrice.reduction_type == 'percentage'}- {$product->specificPrice.reduction*100}%{/if} </span> {/strip} </p> Da quanto possa capirci, il codice dice che se trova impostato uno sconto percentuale assegna alla variabile $product il prezzo calcolato con lo sconto percentuale. Cosa mi consigliate di provare? Link to comment Share on other sites More sharing options...
fedesib Posted March 13, 2018 Share Posted March 13, 2018 Ciao, la porzione di codice che hai individuato mostra l'etichetta -X% se viene applicato uno sconto in percentuale. Il primo consiglio è aggiornare la tua versione di Prestashop perchè credo che il problema che riscontri sia stato risolto con le versioni successive. Se vuoi, puoi trovare maggiori informazioni qui: https://www.prestashop.com/forums/topic/499621-1609-to-1614-item-with-combination-is-showing-incorrect-prices/ E il codice che risolve il problema dovrebbe essere qui: https://github.com/PrestaShop/PrestaShop/pull/4713/files Buona giornata, Federica PS: prima di qualsiasi eventuale modifica al codice fai un backup completo sia dei files sia del DB Link to comment Share on other sites More sharing options...
fibo Posted March 13, 2018 Author Share Posted March 13, 2018 Ciao! Grazie per la risposta. Ho sostituito i file di Github agli originali ma purtroppo il problema rimane. Ho creato una nuova regola prezzi, stavolta impostando un importo fisso da scontare. Anche in questo caso trovo che il comportamento dell'interfaccia non sia corretto. L'informazione è presentata nel modo sbagliato, perché viene visualizzato l'importo scontato e non il prezzo da pagare dopo lo sconto. Link to comment Share on other sites More sharing options...
fibo Posted March 13, 2018 Author Share Posted March 13, 2018 Ho provato le due regole, sia su un prodotto con combinazioni sia su un prodotto senza. Il fatto di non avere combinazioni non sembra far differenza Link to comment Share on other sites More sharing options...
fedesib Posted March 14, 2018 Share Posted March 14, 2018 Ciao, mi sembra davvero un errore strano, personalmente non l'ho mai incontrato. Qual è il prezzo iniziale del prodotto? Come hai impostato la regola prezzi nel backoffice? Buona giornata, Federica Link to comment Share on other sites More sharing options...
fibo Posted March 14, 2018 Author Share Posted March 14, 2018 Buon pomeriggio Federica. Ho installato un negozio di prova con la versione 1.6.1.18, ma non è cambiato nulla. In tutte e due le prove ho usato il template di default, senza alcuna modifica. Il prezzo l'ho impostato a 17€ IVA esclusa. La regola sugli sconti è quella dell'immagine allegata. Ho provato anche facendo calcolare lo sconto escludendo le tasse, ma ottengo lo stesso comportamento Link to comment Share on other sites More sharing options...
fedesib Posted March 14, 2018 Share Posted March 14, 2018 (edited) Ciao, così al volo non riesco ad aiutarti, magari faccio qualche prova su una mia versione dev della 1.6.1.18. Se però ritieni sia un bug puoi segnalarlo qui: http://forge.prestashop.com/ Buon pomeriggio, Federica Edit: ho fatto un paio di prove, secondo me si tratta proprio di un bug ed il colpevole potrebbe essere il javascript che si occupa di modificare il prezzo visualizzato una volta che applica lo sconto. Se ti va, segnalalo all'indirizzo che ti ho scritto sopra. Buon pomeriggio, Federica Edited March 14, 2018 by fedesib (see edit history) Link to comment Share on other sites More sharing options...
beepow Posted March 1, 2019 Share Posted March 1, 2019 Salve, riapro questo vecchio post perché ho lo stesso identico problema e non riesco a trovare una soluzione. Se non metto condizioni alla regola catalogo visualizzo il prezzo scontato e quello originale barrato. Se inserisco come condizione della regola catalogo un minimo di pezzi allora, raggiunto quel numero nella pagina prodotto, il prezzo diventa 0,00. (Nel riepilogo finale si vede invece lo sconto) Qualcuno ha trovato poi una soluzione? PS v 1.6.14 Tema originale. Il file product.tpl è leggermente modificato ma anche con quello originale non cambia nulla. Link to comment Share on other sites More sharing options...
beepow Posted March 1, 2019 Share Posted March 1, 2019 Mi rispond da solo.... La soluzione che ho trovato (qui: https://github.com/PrestaShop/PrestaShop/pull/8538) è stata quella di sostituire una parte del codice del file controllers/front/ProductController.php in particolare ho sostituiro questo blocco (intorno alla riga #346) foreach ($attributes as $attribute) { $quantity_discount['attributes'] = $attribute['name'].' - '; } $quantity_discount['attributes'] = rtrim($quantity_discount['attributes'], ' - '); } if ((int)$quantity_discount['id_currency'] == 0 && $quantity_discount['reduction_type'] == 'amount') { $quantity_discount['reduction'] = Tools::convertPriceFull($quantity_discount['reduction'], null, Context::getContext()->currency); } } con questo: foreach ($attributes as $attribute) { $quantity_discount['attributes'] = $attribute['name'].' - '; } $quantity_discount['attributes'] = rtrim($quantity_discount['attributes'], ' - '); } else { $quantity_discount['base_price'] = $this->product->getPrice(Product::$_taxCalculationMethod == PS_TAX_INC); } if ((int)$quantity_discount['id_currency'] == 0 && $quantity_discount['reduction_type'] == 'amount') { $quantity_discount['reduction'] = Tools::convertPriceFull($quantity_discount['reduction'], null, Context::getContext()->currency); } } il file intero è qui: https://github.com/PrestaShop/PrestaShop/blob/7a12373c2cb2c574d82bcd50fe778f89cefd1d14/controllers/front/ProductController.php In questo modo il prezzo unitario viene aggiornato quando cambia il numero di prodotti scelti nella casella di input. Non sono però riuscito ad avere il prezzo complessivo (solo quello unitario) al variare della quantità. 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