Back to top

Autore Topic: Vituemart: visualizzazione prezzi  (Letto 3345 volte)

Offline manuelgaribaldi

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Vituemart: visualizzazione prezzi
« il: 26 Mar 2014, 12:00:39 »
Buongiorno, chiedo scusa, ma ho un problema che non riesco a risolvere circa la visualizzazione dei prezzi scontati e non scontati in virtuemart.


In pratica se applico uno sconto a un prodotto o a una categoria, e vado a vedere il prezzi come cliente, viene (GIUSTAMENTE) visualizzato il prezzo netto barrato e il prezzo scontato in rosso e anche l'ammontare dello sconto. Benissimo. Solo che nei prodotti non scontati vedo ugualmente il prezzo barrato e il prezzo in rosso (che hanno ovviamente la solita cifra).


Come posso dire al sistema di visualizzare i prezzi barrati SOLO per i prodotti o categorie che hanno uno sconto?


Ho provato a seguire le istruzioni di questo forum, ho chiesto aiuto ma non mi hanno mai risposto. Non ci sono riuscito.


Il sito in questione è questo . I prodotti in offerta sono nelle "offerte speciali"


Grazie


M.






Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #1 il: 26 Mar 2014, 13:06:26 »
ma tu guarda chi si rivede...


in realtà non sto parlando di te ma di gamma elettronica che avevo incontrato intanto che lavoravo per un'altra azienda.


manuel, sei di gamma o di altra società?


comunque, il problema è tipicamente causato dagli arrotondamenti o dalla mancata gestione degli sconti nel template.
ad occhio mi pare che tu non stia usando il template di default di VM, ma uno differente, quindi dovrai controllare il codice dell'override in
/templates/[template]/html/com_virtuemart/productdetails/default_showprices.php


nota: il file potrebbe anche essere inglobato in default.php


ciao,
marco

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

Offline manuelgaribaldi

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #2 il: 26 Mar 2014, 13:41:27 »
Ciao, mi è stato consegnato questo lavoro da Gamma.


Riguardo alla tua risposta, non ho mica capito sai...
Io non saprei dove mettere mano al codice. Praticamente è l'ultima cosa da fare ma non riesco.


Offline manuelgaribaldi

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #3 il: 26 Mar 2014, 13:47:35 »

Ciao, mi è stato consegnato questo lavoro da Gamma.


Riguardo alla tua risposta, non ho mica capito sai...
Io non saprei dove mettere mano al codice. Praticamente è l'ultima cosa da fare ma non riesco.


Il codice del file che hai evidenziato è il seguente:ù
Codice: [Seleziona]



<?php
/**
 *
 * Show the product details page
 *
 * @package VirtueMart
 * @subpackage
 * @author Max Milbers, Valerie Isaksen


 * @link http://www.virtuemart.net
 * @copyright Copyright (c) 2004 - 2010 VirtueMart Team. All rights reserved.
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
 * VirtueMart is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * @version $Id: default_showprices.php 5834 2012-04-09 12:05:33Z Milbo $
 */
// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');


?>

<div class="product-price" id="productPrice<?php echo $this->product->virtuemart_product_id ?>">
    <?php
    
if ($this->product->product_unit && VmConfig::get('price_show_packaging_pricelabel')) {
echo "<strong>" JText::_('COM_VIRTUEMART_CART_PRICE_PER_UNIT') . ' (' $this->product->product_unit "):</strong>";
    } else {
echo "<strong>" JText::_('COM_VIRTUEMART_CART_PRICE') . "</strong>";
    }


    if (empty(
$this->product->prices) and VmConfig::get('askprice'1)) {
?>

        <a class="ask-a-question bold" href="<?php echo $url ?>" ><?php echo JText::_('COM_VIRTUEMART_PRODUCT_ASKPRICE'?></a>
    <?php
    
}
    if (
$this->showBasePrice) {
echo $this->currency->createPriceDiv('basePrice''COM_VIRTUEMART_PRODUCT_BASEPRICE'$this->product->prices);
echo $this->currency->createPriceDiv('basePriceVariant''COM_VIRTUEMART_PRODUCT_BASEPRICE_VARIANT'$this->product->prices);
    }


    echo 
$this->currency->createPriceDiv('variantModification''COM_VIRTUEMART_PRODUCT_VARIANT_MOD'$this->product->prices);
    echo 
$this->currency->createPriceDiv('basePriceWithTax''COM_VIRTUEMART_PRODUCT_BASEPRICE_WITHTAX'$this->product->prices);
    echo 
$this->currency->createPriceDiv('discountedPriceWithoutTax''COM_VIRTUEMART_PRODUCT_DISCOUNTED_PRICE'$this->product->prices);
    echo 
$this->currency->createPriceDiv('salesPriceWithDiscount''COM_VIRTUEMART_PRODUCT_SALESPRICE_WITH_DISCOUNT'$this->product->prices);
    echo 
$this->currency->createPriceDiv('salesPrice''COM_VIRTUEMART_PRODUCT_SALESPRICE'$this->product->prices);
    echo 
$this->currency->createPriceDiv('priceWithoutTax''COM_VIRTUEMART_PRODUCT_SALESPRICE_WITHOUT_TAX'$this->product->prices);
    echo 
$this->currency->createPriceDiv('discountAmount''COM_VIRTUEMART_PRODUCT_DISCOUNT_AMOUNT'$this->product->prices);
    echo 
$this->currency->createPriceDiv('taxAmount''COM_VIRTUEMART_PRODUCT_TAX_AMOUNT'$this->product->prices);
echo $this->currency->createPriceDiv('unitPrice''COM_VIRTUEMART_PRODUCT_UNITPRICE'$this->product->prices);
    
?>

<>



Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #4 il: 26 Mar 2014, 14:42:34 »
è abbastanza semplice, ma bisogna sapere bene quale effetto vuoi ottenere e sulla base di ciò devi scrivere il codice.


$this->product->prices è un array associativo che contiene tutti i prezzi pre-calcolati. il primo parametro del metodo createPriceDiv indica l'indice dell'array, e da tale indice si ottiene anche l'id del tag html che contiene il prezzo.


ora devi comparare il due valori agli indici basePriceWithTax e salesPrice (oppure valutare se discountAmount != 0) e nel caso aggiungere un tag contenitore in modo da poter aggiungere una classe per decidere se mettere o meno il barrato e/o decidere quali prezzi vuoi mettere.


io aggiungerei la nuova classe al primo div, così non devi aggiungere nessun tag e non corri il rischio di sballare nessun css.


comunque un minimo di php lo devi capire  ;)


ciao,
marco





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

Offline manuelgaribaldi

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #5 il: 26 Mar 2014, 15:11:01 »
Io non so come "pistolettare" in questo caso. Credo serva una istruzione "if" ma di più non so.


Mi spiego bene:


nei dettagli prodotto va visualizzato il prezzo barrato se il prodotto è in sconto (prezzo pieno barrato, prezzo scontato in rosso - che fa già)


Se invece il prezzo del prodotto non è in sconto allora non visualizzare il prezzo barrato.


...a dirlo son parole..a farlo non capisco come muovermi. Di php..non mi intendo


Non voglio la pappa pronta, per carità...di solito mi arrangio ma questa volta è un po' che ci sbatto il naso senza successo.


 :'(

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #6 il: 26 Mar 2014, 15:26:02 »
modifica la classe del primo div in


Codice: [Seleziona]
class="product-price <?php echo ($this->product->prices['discountAmount']?'product-discount':''); ?>"

oppure


Codice: [Seleziona]
class="product-<?php echo ($this->product->prices['discountAmount']?'discount':'price'); ?>"

poi modifica i css. quale delle due dipende da come sono scritti i css che già ci sono.





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

Offline manuelgaribaldi

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #7 il: 26 Mar 2014, 15:34:11 »
Quali css?


Quello di VM?


Allego screenshot dei css presenti





[allegato eliminato automaticamente dopo un anno]

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #8 il: 26 Mar 2014, 17:51:17 »
ma questa non è la pappa pronta è la cena servita ed i piatti lavati  ;D ;D ;D


e dai, se il problema prima era semplice ora è addirittura banale. hai dichiarato di essere un operatore professionale, o comunque di aver accettato il lavoro, il che ti fa ricadere nel caso di cui sopra: non voglio neanche pensare che tu non sia in grado di risolvere una banalità del genere.
cortesemente...



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

Offline manuelgaribaldi

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #9 il: 26 Mar 2014, 22:15:13 »
Chiedo scusa...(ovviamente mi sbaglierò), ma modificando il css vaso solo ad intaccare "l'estetica".
Io credo serva un comando nel php del tipo


If "il prodotto non è scontato" mostra solo prezzo pieno e non barrato
If "prodotto è scontato" mostra prezzo intero barrato e prezzo scontato


Non capisco

Offline manuelgaribaldi

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #10 il: 27 Mar 2014, 00:12:49 »
Dunque ho risolto la storia della visualizzazione senza toccare il css. Ho messo un if aggiuntivo. (andare a capire l'if mi ci è voluto un po' ..


Poi nel carrello ho messo che il prezzo dei prodotti deve essere "basePriceWithTax", solo che me lo fa vedere barrato.


Dove posso modificare affinché me lo renda non barrato?


Allego screenshot





[allegato eliminato automaticamente dopo un anno]

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #11 il: 27 Mar 2014, 07:36:39 »
Dove posso modificare affinché me lo renda non barrato?


quale parte di css non è chiara?

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

Offline manuelgaribaldi

  • Nuovo arrivato
  • *
  • Post: 28
    • Mostra profilo
Re:Vituemart: visualizzazione prezzi
« Risposta #12 il: 27 Mar 2014, 07:41:36 »
In realtà nessuna, ho risolto modificando il css dove indica i prezzi barrati mettendo un bel text decoration none


E poi ho modificato con override lingua: Prezzo in "Prezzo da scontare".


Ovviamente questa dicitura me la visualizza solo quando i prodotti sono in sconto


M.

 



Web Design Bolzano Kreatif