Joomla.it Forum
Componenti per Joomla! => Gestione e-commerce => : edwe 18 Mar 2014, 10:44:01
-
Salve, ho aperto giorni fa un topic sull'argomento "visualizzazione percentuale Sconti" ho notato però che nella pagina di una categoria non appariva lo sconto in percentuale. Ho provato a inserire in ..com_viertuemart/views/category/tmpl/default.php il codice che ho inserito nelle altre pagine, ma avviene un errore di calcolo di percentuale, ad esempio dove vi è il 15% da l'85%. Qualcuno può aiutarmi a capire perchè e che tipo di codice va inserito?
Questo è il codice
if (round($this->product->prices['discountAmount'] != 0 )) {
$discount_percent = round(($this->product->prices['basePrice'] - $this->product->prices['salesPrice']) * 100 / $this->product->prices['basePrice']);
?>
<div class="discountAmount">
Sconto: <?php echo $discount_percent; ?>%
<>
<?php
}
Grazie!
Joomla! 2.5.18 Virtuemart 2.0.26d
-
Risolto da sola. Ho trovato questo codice che funziona per la pagina della categoria:
if (!empty($product->prices['discountAmount'])) {
if ($this->currency->createPriceDiv('discountAmount','COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT',$product->prices))
{
$discount=$this->currency->formatNumber($product->prices['discountAmount']);
$basePrice = $this->currency->formatNumber($product->prices['basePrice']);
$total =($discount * 100) / $basePrice;
$total = round(-$total, 0);
echo "<div class='discountpercent'>Sconto: ".$total."%<>";
}
}
-
scusami ma in quale punto del file va inserito questo codice. Sono riuscito a far visualizzare la percentuale di sconto sulla pagina del prodotto ma non sulla pagina della categoria.
Ho anche un modulo che compare in home page dove visualizza gli ultimi prodotti inseriti ma mi mostra due volte il prezzo scontato, invece vorrei visualizzare il prezzo tassato di iva barrato e il prezzo scontato.
-
Mi sembra che sia opportuno effettuare un override per far visualizzare la percentuale. Il file da modificare com_viertuemart/views/category/tmpl/default.php è giusto ma bisognerebbe copiarlo e incollarlo nel proprio template \templates\tuo-template\themes\my-theme\html\com_virtuemart\category.
Il path dipende da che template si usa. Io faccio riferimento ad un famose framework non a pagamento.
Io ho utilizzato questo codice:
/* codice per la percentuale */
$product->prices = round(($product->prices['basePriceWithTax'] - $product->prices['salesPrice']) * 100 / $product->prices['basePriceWithTax']);
$vars=$this->currency->createPriceDiv('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $product->prices);
$cuur1= str_replace('Kč','%',$vars);
echo $cuur1;
/*fine codice*/
Inserito al posto del discount_amount.
-
Qual'è la migliore soluzione agli esperti l'ardua sentenza :)
-
scusami sono riuscito a visualizzare lo sconto nella pagina del prodotto. Ma nella pagina categoria con il codice che mi hai dato mi esce lo sconto in euro modificando il dile default.php nella cartella category del mioo template.
-
e mi scompare il prezzo finale di vendita scontato
-
$cuur1= str_replace('Kc','%',$vars);
e che valuta sarebbe Kc? ma da dove hai copiato questo codice, da un vecchio sito cecoslovacco? ;D ;D
ma per fare una proporzione bisogna andare alla ricerca folle di pezzi di codice di terzi? ai miei tempi le insegnavano nelle scuole medie... :(
comunque mai accodarsi a vecchi post, soprattutto se vi è il [risolto]. ps: sul mio sito c'è un articolo che spiega come fare, unica cosa: è per chi ha voglia di capire, non per chi cerca il codice da copiare.
ciao,
marco
-
ciao ho provato a seguire la tua guida sul sito ma non funziona.... comunque sono riuscito a risolvere con il codice citato nei primi post. Grazie a tutti!
-
come detto sul mio sito non c'è il codice da copiare ed incollare (notato che c'è scritto 'codice semplificato'?), ma quello che serve a capire come funziona il processo e si fanno le cose.
chi vuole imparare può leggersi l'articolo, chi vuole la pappa pronta è meglio se trova un'altra osteria ;D ;D
buon week end,
marco
-
ok sei un fenomeno. Complimenti per le tue guide..... e tutorial.....
-
Si sul fatto che il codice sia copiato è vero, poi l'ho modificato per la Repubblica Ceca :-))) e funziona...