Back to top

Autore Topic: [RISOLTO] Visualizzazione Percentuale Sconti  (Letto 3130 volte)

Offline edwe

  • Nuovo arrivato
  • *
  • Post: 39
    • Mostra profilo
[RISOLTO] Visualizzazione Percentuale Sconti
« il: 11 Mar 2014, 19:37:50 »
Salve, Volevo chiedere se fosse possibile visualizzare nel campo Sconto la percentuale dello sconto e non l'importo. Ovvero se un prodotto costa 100 € e io applico uno sconto del 50% Virtuemart nel campo Sconto metterà -50 € io voglio invece che appaia -50%. E' possibile?
« Ultima modifica: 12 Mar 2014, 13:09:06 da edwe »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Visualizzazione Percentuale Sconti
« Risposta #1 il: 11 Mar 2014, 20:25:02 »
sì, basta inserire la formula per il calcolo dello sconto invece dell'importo dello sconto.


override di /productdetails/default_showprices.php ed inserimento della formula.


ciao,
marco

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline edwe

  • Nuovo arrivato
  • *
  • Post: 39
    • Mostra profilo
Re:Visualizzazione Percentuale Sconti
« Risposta #2 il: 11 Mar 2014, 21:02:04 »
Ehm...Potresti essere più preciso? che tipo di formula? E in quale default_showprices? Quello di Virtuemart o quello presente nel template?

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Visualizzazione Percentuale Sconti
« Risposta #3 il: 11 Mar 2014, 21:12:51 »
la formula è quella che ti permette, dato il prezzo di vendita pieno e lo sconto, di ottenere la percentuale di sconto. non è una funzione di VM2, la devi scrivere tu. in effetti si tratta di una proporzione, quindi niente di difficile.
(è che non mi ricordo a memoria i nomi dei campi, ma li ricavi velocemente vedendo i valori stampati)



se esiste già l'ovverride nella directory del template usi quest'ultimo. se tu modificassi il file in VM non avresti alcun effetto dato che, appunto, esiste già un override.


ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline edwe

  • Nuovo arrivato
  • *
  • Post: 39
    • Mostra profilo
Re:Visualizzazione Percentuale Sconti
« Risposta #4 il: 11 Mar 2014, 21:22:22 »
Ok! Perfetto! Se ho ben capito la formula dovrebbe essere:


(1 - (discountAmount / basePriceWithTax)) * 100


oppure


discountAmount / basePriceWithTax * 100


cercando su internet ho trovato queste due. Non so però se sono giuste. Puoi aiutarmi?

Offline edwe

  • Nuovo arrivato
  • *
  • Post: 39
    • Mostra profilo
Re:Visualizzazione Percentuale Sconti
« Risposta #5 il: 11 Mar 2014, 22:04:06 »
Li ho provati entrambi ma mi da come risultato: " Warning: Division by zero"
Perchè?


Grazie!

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Visualizzazione Percentuale Sconti
« Risposta #6 il: 12 Mar 2014, 08:46:05 »

Le due formule differiscono, ovvero non sono una ugualianza, quindi non possono essere entrambe giuste.


detti:


basePriceWithTax = prezzo di vendita pieno
discountAmount = ammontare dello sconto (in valuta)


possiamo scrivere:


basePriceWithTax : discountAmount = 100 : percentualeSconto


da cui consegue:


percentualeSconto = (100 * discountAmount) / basePriceWithTax


se ne deduce che la formula corretta è la seconda.


tieni però presente che basePriceWithTax e discountAmount non sono variabili, ma indici dell'array associativo 'prices' che una proprietà dell'istanza del prodotto.
facendo riferimento al codice standard del template di VM2 il calcolo diventa, con un poco di formattazione:


<?php printf("%02.1f%%", 100 * $this->product->prices['discountAmount'] / $this->product->prices['basePriceWithTax']); ?>


ps: nota che discountAmount, in VM2, è un valore negativo.


che division by zero sia un warning poi è tutt'altro discorso...


ciao,
marco

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline edwe

  • Nuovo arrivato
  • *
  • Post: 39
    • Mostra profilo
Re:Visualizzazione Percentuale Sconti
« Risposta #7 il: 12 Mar 2014, 12:11:40 »
Ciao, continuo a non capire bene. questo è il mio codice per Discount Amount:



echo $this->currency->createPriceDiv ('discountAmount', 'COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT', $this->product->prices)
   ;


Dove dovrei mettere la formula che mi hai dato?


Grazie, Edel

Offline edwe

  • Nuovo arrivato
  • *
  • Post: 39
    • Mostra profilo
Re:Visualizzazione Percentuale Sconti
« Risposta #8 il: 12 Mar 2014, 13:08:38 »
Ho trovato la soluzione spulciando dei forum in inglese. Allora bisogna mettere questo codice nel file default_showprice.php (components\com_virtuemart\views\productdetails) al posto di quello di discountAmount:





   
Codice: [Seleziona]
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
}
[size=78%]




Nel mio caso uso basePrice poichè non applico nessuna tassa altrimenti userei basePriceWithTax.
Questo codice vi permette di visualizzare lo sconto in percentuale nel momento in cui si è nel dettaglio prodotto. Per visualizzarlo sulla vetrina dovrete mettere un altro codice in default.php che dovrebbe essere in components\com_virtuemart\views\virtuemart\tmpl\ non ne sono certa perchè io ho un template con override e quindi sono andata a modificare il file del template. Il codice da inserire, sempre al posto di discountAmount è:


[/size]
Codice: [Seleziona]
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
}
[size=78%]


Spero di essere stata utile!  :) [/size]

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:[RISOLTO] Visualizzazione Percentuale Sconti
« Risposta #9 il: 12 Mar 2014, 14:45:53 »
è esattamente quello che è scritto sopra, ma perché nessuno mai fa lo sforzo di capire ciò che sta facendo?
 :( :( :( :(

mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline edwe

  • Nuovo arrivato
  • *
  • Post: 39
    • Mostra profilo
Re:[RISOLTO] Visualizzazione Percentuale Sconti
« Risposta #10 il: 13 Mar 2014, 16:19:13 »
Ho solo dato una spiegazione più dettagliata, nulla di più. Pensavo di fare cosa buona!

 



Web Design Bolzano Kreatif