enricoferrero Posted January 8, 2019 Share Posted January 8, 2019 Ciao a tutti Sono un pivello di prestashop e sto provando a fare delle modifiche. Abbiate pazienza. Versione di PrestaShop: 1.7.3.1 Tema attualmente utilizzato: classic modificato Ho questo poblema come dal titolo. Ho provato a fare varie prove e sto impazzendo per il risultato. Ho modificato il file product-prices.tpl in queste linee di codice <div class="current-price"> <span itemprop="price" content="{$product.price_amount}">{$product.price}</span> {if $product.has_discount} {if $product.discount_type === 'percentage'} <span class="discount discount-percentage">{l s='Save %percentage%' d='Shop.Theme.Catalog' sprintf=['%percentage%' => $product.discount_percentage_absolute]}</span> {else} <span class="discount discount-amount"> {l s='Save %amount%' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.discount_to_display]} </span> {/if} {/if} </div> Ho inserito la formula per visualizzare lo sconto in questo modo {else} <span class="discount discount-amount"> {l s='Save %amount%' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.discount_to_display]} -{((($product.regular_price - $product.price)/$product.regular_price)*100)}% </span> {/if} La cosa assurda che non capisco è che mi da un risultato sbagliato. In questo prodotto come vedete dovrebbe comparire lo sconto 15% ma compare: Non riesco a capire come possa succedere. Come ho scritto abbiate pazienza perchè sono un pivello e magari è solo una cavolata. Grazie in anticipo per il vostro aiuto Enrico Link to comment Share on other sites More sharing options...
Haumea Posted January 8, 2019 Share Posted January 8, 2019 La formula la devi inserire subito dopo $product.dicount_to_display Metti una parentesi dopo la variabile e inserisci la formula all'interno della parentesi. Come e' scritto ora, il risultato della fomrula non e' contenuto all'interno della variabile. Link to comment Share on other sites More sharing options...
enricoferrero Posted January 8, 2019 Author Share Posted January 8, 2019 Grazie della risposta Haumea ma non ho capito bene quale tipo di parentesi va messa e dove. Ma questo centra con il posizionamento o con il risultato? Ti chiedo scusa della mia ignoranza Enrico Link to comment Share on other sites More sharing options...
Haumea Posted January 8, 2019 Share Posted January 8, 2019 Allora, La parentesi quadra che apri subito dopo "sprintf" la chiudi dopo la variabile "$product.dicount_to_display". Per questo non funziona. Dopo la freccia ( => ) all'interno della parentesi quadra devi scrivere tutta la formula, ovvero ($product.discount_to_display - ((($product.regular_price - $product.price)/$product.regular_price) * 100)) Link to comment Share on other sites More sharing options...
enricoferrero Posted January 8, 2019 Author Share Posted January 8, 2019 Ho fatto come mi hai detto <div class="current-price"> <span itemprop="price" content="{$product.price_amount}">{$product.price}</span> {if $product.has_discount} {if $product.discount_type === 'percentage'} <span class="discount discount-percentage">{l s='Save %percentage%' d='Shop.Theme.Catalog' sprintf=['%percentage%' => $product.discount_percentage_absolute]}</span> {else} <span class="discount discount-amount"> {l s='Save %amount%' d='Shop.Theme.Catalog' sprintf=['%amount%' => ($product.discount_to_display - ((($product.regular_price - $product.price)/$product.regular_price) * 100))]}% </span> {/if} {/if} </div> Però il problema è che il risultato è sbagliato Sto rincretinendo in quanto la formula direbbe (con i dati della immagine) ((10-8,5)/10)*100 = 15 Perchè da 19???? Link to comment Share on other sites More sharing options...
Haumea Posted January 8, 2019 Share Posted January 8, 2019 Ma $product.discount_to_display quanto e'? Non lo hai considerato nella formula? Credo possa essere tolto. Link to comment Share on other sites More sharing options...
enricoferrero Posted January 8, 2019 Author Share Posted January 8, 2019 Ho provato a toglierlo <div class="current-price"> <span itemprop="price" content="{$product.price_amount}">{$product.price}</span> {if $product.has_discount} {if $product.discount_type === 'percentage'} <span class="discount discount-percentage">{l s='Save %percentage%' d='Shop.Theme.Catalog' sprintf=['%percentage%' => $product.discount_percentage_absolute]}</span> {else} <span class="discount discount-amount"> {l s='Save %amount%' d='Shop.Theme.Catalog' sprintf=['%amount%' => (((($product.regular_price - $product.price)/$product.regular_price)*100))]}% </span> {/if} {/if} </div> E tieni presente che ambedue i prodotti sono scontati del 15% ma invece in quello di prima e in un altro precedente Non capisco questi risultati Link to comment Share on other sites More sharing options...
enricoferrero Posted January 8, 2019 Author Share Posted January 8, 2019 Ho fatto comparire il contenuto delle variabili e praticamente sembra che siano delle stringhe essendoci il simbolo euro. Andando per logica o il problema è nel modo in cui Prestashop legge le stringhe o nel modo in cui arrotonda i calcoli. Qualcuno ne riesce a capire qualcosa? Link to comment Share on other sites More sharing options...
Haumea Posted January 8, 2019 Share Posted January 8, 2019 Alle variabili vengono assegnati valori all'interno del file php relativo. Potresti creare una nuova variabile li e poi usare quella nel file tpl. Link to comment Share on other sites More sharing options...
daino Posted January 31, 2021 Share Posted January 31, 2021 A me interessava fare comparire lo sconto percentuale solo nella lista dei prodotti. Sono riuscito a cambiare il valore dell'etichetta (da assoluto a percentuale) cambiano il codice nel file ProductLazyArray.php Link to comment Share on other sites More sharing options...
Iacoporicci Posted March 6, 2023 Share Posted March 6, 2023 On 1/31/2021 at 1:12 PM, daino said: A me interessava fare comparire lo sconto percentuale solo nella lista dei prodotti. Sono riuscito a cambiare il valore dell'etichetta (da assoluto a percentuale) cambiano il codice nel file ProductLazyArray.php posso sapere come hai fatto che codice hai messo? 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