Jump to content

Aggiornamento dati errato in product.tpl


fibo

Recommended Posts

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?

 

seconda.png

prima.png

Link to comment
Share on other sites

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

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.


 

schermata.png

Link to comment
Share on other sites

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 :D:blink:

 

 

regola.png

Link to comment
Share on other sites

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 by fedesib (see edit history)
Link to comment
Share on other sites

  • 11 months later...

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

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

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