Back to top

Autore Topic: Problema Sconto Prezzo Barrato VM2  (Letto 3274 volte)

Offline Alexanders

  • Esploratore
  • **
  • Post: 75
    • Mostra profilo
Problema Sconto Prezzo Barrato VM2
« il: 31 Ott 2014, 10:33:14 »
Salve,
torno per porvi un altro interrogativo che spero di riuscire a risolvere.
Allora, attualmente la mia cliente mi ha chiesto di fissare degli sconti su vari prodotti.
Il Punto è che lei vuole la visualizzazione dei prezzi barrati. Visto che in rete ho trovato questo articolo scritto da un vostro moderatore , l'ho eseguito alla lettera, ma oltre che a non funzionare, mi crea problemi nel "market". Allora questo è la guida

Ho eseguito come alla lettera la modifica del file default_showprices.php incluso nella cartella del mio template cosi:

File Originale

Codice: [Seleziona]
?>
<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('salesPrice''COM_VIRTUEMART_CART_PRICE'$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);
    
?>

</div>

File Modificato

Codice: [Seleziona]
?>
<div class="product-<?php echo ($this->product->prices['discountAmount']?'discount':'price'); ?>" id="productPrice<?php echo $this->product->virtuemart_product_id ?>">  ( <---- Ho modificato questo )
    <?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); ( <---- Ho riattivato questo )
     echo 
$this->currency->createPriceDiv('salesPrice''COM_VIRTUEMART_CART_PRICE'$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);
    
?>

</div>

Ho editato le due stringhe come riferitomi dalla guida ma non ho capito perche' la stringa COM_VIRTUEMART_PRODUCT_SALESPRICE era disattivata con // , infatti l'ho riattivata come scritto nella guida.

Poi ho aggiunto le seguenti stringhe css nel file miotemplates/css/virtuemart.css

Codice: [Seleziona]
/* prezzo senza sconto*/
.product-price .PricebasePriceWithTax{
}
.product-price .PricediscountAmount{
   display:none;
}
.product-price .PricesalesPrice{
}
 
/* prezzi con lo sconto*/
.product-discount{
  /* qui ci sta bene una immagine di sfondo, come l'etichetta rossa presente sotto */
}
.product-discount span.PricebasePriceWithTax{
   text-decoration: line-through;
}
.product-discount .PricediscountAmount{
}
.product-discount span.PricesalesPrice{
   color: red;
   font-size: 140%;
}

Ma non ottengo nulla... anzi, il prezzo dello sconto non viene nemmeno piu' visualizzato ed e' un errore associato al css perchè riportandolo alla normalità tutto funziona. Magari quell'associazione del css devo inserirlo ad un altra parte? Oppure devo editare solamente cio' che gia c'è, senza aggiungere altri senno' creano conflitto?
Questo è l'errore.



In più la guida dice " Una analoga modifica è necessaria per la visualizzazione dell'elenco dei prodotti che si trova nel template 'default' della vista 'category'.  " Non ho ben capito a cosa si riferisse.

Qualche idea?

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema Sconto Prezzo Barrato VM2
« Risposta #1 il: 01 Nov 2014, 16:56:12 »
visto che hai citato la mia guida...

Citazione
ma non ho capito perche' la stringa COM_VIRTUEMART_PRODUCT_SALESPRICE era disattivata con // , infatti l'ho riattivata come scritto nella guida.
non è disattivata! è solo stampata con una label diversa! guarda il codice: la riga commentata (disattivata?  :D ) è ugale a quella sotto, a meno di una label. se togliendo i commenti non vedi i prezzo ripetuto due volte allora hai agito sul file sbagliato...

se si vede la scritta  "sconto:" senza prezzo, quando lo sconto non c'è, allora probabilmente dovrai modificare il css come segue:
Codice: [Seleziona]
.product-price div.PricediscountAmount{
   display:none !important;
}

comincia a verificare il primo punto...
ciao,
marco
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

Offline Alexanders

  • Esploratore
  • **
  • Post: 75
    • Mostra profilo
Re:Problema Sconto Prezzo Barrato VM2
« Risposta #2 il: 01 Nov 2014, 18:11:36 »
Ciao,


allora con un pò di pazienza sono riuscito a far girare il tutto. Ottendendo il risultato che volevo.



La cosa che mi lascia perplesso è la vetrina, che non mi restituisce la stessa cosa di quando si entra nell'oggetto in questione.
Cioè che il prezzo base con iva venga barrato SOLO se il prodotto è scontato. Ho provato a modificare il custom.css del mio template e se provo a metterlo barrato, me li barra tutti.
La cosa è abbastanza fastidiosa visto che che è nella vetrna che la gente si ferma a guardare di piu'...
Questo è quello che ottengo.



Devo modificare qualcos'altro nel mio template per agire sulla vetrina? Magari apportare le stesse modifiche su qualche altro file?

Guido
« Ultima modifica: 02 Nov 2014, 16:31:18 da Alexanders »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema Sconto Prezzo Barrato VM2
« Risposta #3 il: 06 Nov 2014, 13:57:16 »
allora con un pò di pazienza sono riuscito a far girare il tutto.
e immagino anche con tanta soddisfazione  8)

La cosa che mi lascia perplesso è la vetrina, che non mi restituisce la stessa cosa di quando si entra nell'oggetto in questione.
[...] Magari apportare le stesse modifiche su qualche altro file?
la vetrina (intendi la pagina principale di vm?) e il file delle categorie dipendono da templates diversi da quelli del dettaglio prodotto, quindi la modifica andrà implementata anche su questi; nell'ordine:
  • /components/com_virtuemart/views/virtuemart/tmpl/default_products.php
  • /components/com_virtuemart/views/category/tmpl/default.php
ovviamente facendo riferimento alla distribuzione originale.
una piccola nota, il css segue le direttive che gli dà il codice: da solo non fa proprio niente... quindi se non si modifica il codice per includere le classi definite nel css c'è addirittura la possibilità che faccia danno...

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

Offline Alexanders

  • Esploratore
  • **
  • Post: 75
    • Mostra profilo
Re:Problema Sconto Prezzo Barrato VM2
« Risposta #4 il: 09 Nov 2014, 11:25:08 »
Ho fatto le opportune modifiche ai 2 file e anche al vmsite-ltr.css ma continuo a non visualizzare niente di barrato nella vetrina.
Almeno non si è corrotto nulla....
Forse la nuova versione ha qualcosa da modificare in piu'? Ho visto che è strutturata in modo leggermente diverso.
« Ultima modifica: 09 Nov 2014, 11:28:31 da Alexanders »

Offline mmleoni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 5547
  • Sesso: Maschio
  • Just another *nix coder/sysadmin...
    • Mostra profilo
Re:Problema Sconto Prezzo Barrato VM2
« Risposta #5 il: 10 Nov 2014, 09:44:39 »
i files sopra indicati sono quelli usati nel template standard.

le singole implementazioni possono poi differire e sta a chi interviene trovare i punti esatti in cui applicare le modifiche; in questi casi è purtroppo necessario avere almeno le conoscenze base di php e del funzionamento di joomla
mmleoni web consulting - creazione siti web aziendali ed e-commerce avanzati - sviluppo moduli e componenti Joomla

 



Web Design Bolzano Kreatif