Virtuemart3 come aggiungere etichette "Sconto", "Nuovo", "Best seller", ad un prodotto

Vediamo come aggiungere etichette (immagini) "Sconto", "Nuovo", "Best seller", "Consigliamo" nel nostro negozio online basato su Virtuemart 3.

Questa è una funzionalità molto utile. Ci sono vari plugin a pagamento per realizzare questa opzione, ma vediamo come realizare gratuitamente. Proprio in questo articolo vedremo come farlo nel componente Virtuemart 3. Avevo scritto la stessa cosa per la versione Virtuemart2 in passato sempre su questo sito.

Quindi salterò certi momenti che sono uguali e sono descritti nel articolo dedicato al Virtuemart2  come la preparazione delle icone, stili di visualizzazione e posizionamento della icona sulla scheda del prodotto.

A diferenza dall articolo dediacto al Virtuemart2 vediamo di rendere ancora piu automatico l'assegnazione d'icone.
 Quindi per prima cosa dovremo creare nuovi campi necessarie nel database. Faremo 4 icone, ma il campo per i prodotti consigliati è già nel database, quindi abbiamo bisogno di creare solo 3 nuovi campi .

Andiamo a  phpMyAdmin (come fare nel corso Dominio e Hostihg). Accediamo alla database del tuo negozio on-line e andiamo alla tabella   #__virtuemart_products , dove #_ - prefisso delle tabelle della tua database e creiamo 3 nuovi campi dopo product_sku

Campi nella tabella:

sale (Tipo: INT, valore/lunghezza: 1)
new (Tipo: INT, valore/lunghezza: 1)
best (Tipo: INT, valore/lunghezza: 1)

E saliviamo cambiamenti

>dis1 1

dis1 2

dis1 3

Queste icone saranno visualizzate quando quando sara seleziona la rispettiva casella  sulla scheda del prodotto nel panello di amministrazione. Per fare questo, è necessario creare queste caselle.  Aprimo file administrator/components/com_virtuemart/views/product/tmpl/product_edit_information.php in un editore del codice per esempio notepad ++

Dopo la riga  49 nel codice

<td colspan="2">
<label><?php echo VmHTML::checkbox('published', $this->product->published); ?><?php echo vmText::_('COM_VIRTUEMART_PUBLISHED') ?></label>
<label><?php echo VmHTML::checkbox('product_special', $this->product->product_special); ?> <?php echo vmText::_('COM_VIRTUEMART_PRODUCT_FORM_SPECIAL') ?></label>
</td>

inserire il codice

<td colspan="2">
<label><?php echo VmHTML::checkbox('sale', $this->product->sale); ?> Sconto</label>
<label><?php echo VmHTML::checkbox('new', $this->product->new); ?> Nuovo</label>
<label><?php echo VmHTML::checkbox('best', $this->product->best); ?> Best</label>
</td>
dis2 3
Dopo di che, sulla scheda del prodotto nel panello d'amministratore appaiono altri 3 caselle di controllo

dis2 4

Ora abbiamo bisogno di fare in modo che  le informazioni da queste caselle saranno iscritte e memorizzate nel nostro database. Per fare questo, aprire il file  administrator/components/com_virtuemart/helpers/shopfunctions.php

Riga 988 piu o meno

$filterArray = array('product_name', '`p`.created_on', '`p`.product_sku', 'product_mpn', 

sostituire con
$filterArray = array('product_name', '`p`.created_on', '`p`.product_sku', '`p`.sale', '`p`.new', '`p`.best', 'product_mpn', 

dis2 5
Dopo di che apriamo administrator/components/com_virtuemart/tables/products.php
e dopo la riga

var $product_sku= null; 

aggiungiamo
var $sale= null; 
var $new= null; 
var $best= null; 

dis2 6
 Salviamo tutto.

Attenzione! Salvate copie di questi fail da qualche parte in un luogo sicuro per poter dopo aggiornamenti di Virtuemart sostituire fail aggiornati con questi dove abbiamo riportato delle modifiche.

Controlliamo. Dopo salvataggio del prodotto, la casella selezionata  deve rimanere  selezionata.

dis2 8

Aggiungere nostre icone alla pagina di categoria e nei moduli

Sperando che avette fato quello che ho descritto nel articolo precedente andiamo avanti.

Per questo apriamo fail
templates/il tuo template /html/com_virtuemart/sublayouts/products.php
templates/il tuo template/html/mod_virtuemart_product/default.php
 e dopo il codice

<div class="spacer">

Inseriamo

<?php
if ($product->sale == 1) {
echo '<div class="sale" title="Questo prodotto si vende con lo sconto ">Sconto</div>';
} 
if ($product->new == 1) {
echo '<div class="new" title="Questo prodotto è nuovo ">Nuovo</div>';
}
if ($product->hit == 1) {
echo '<div class="hit" title="Questo articolo è molto popolare">Best seller</div>';
} 
if ($product->product_special == 1) {
echo '<div class="rec" title="Raccomandiamo questo prodotto"></div>';
}
?>

dis3 1

dis3 2

Aggiungere le icone alla pagina del prodotto

Al posto selezionato (sulla base dove volete che apparirà la nostra icona) nel fail
templates/il tuo template/html/com_virtuemart/productdetalies/default.php dobbiamo aggiungere seguente codice

<?php
if ($this->product->sale == 1) {
echo '<div class="sale" title="Questo prodotto si vende con lo sconto">Sconto</div>';
} 
if ($this->product->new == 1) {
echo '<div class="new" title="Questo prodotto è nuovo">Nuovo</div>';
}
if ($this->product->hit == 1) {
echo '<div class="hit" title="Questo articolo è molto popolare">Best seller</div>';
} 
if ($this->product->product_special == 1) {
echo '<div class="rec" title="Raccomandiamo questo prodotto"></div>';
}
?>

dis3 3

dis3 5
newA questo punto abbiamo possibilità di aggiungere a qualsiasi prodotto ognuna di icone di qui sopra nonche tutti insieme. Non dimentichiamo di creare queste icone ed asegniarli a rispettivi classi nel vostro foglio di stile css ( per esempio classe  .new)

 

dis3 7

dis3 6

dis3 8

Come avete capito con la stessa tecnica posiamo realizzare anche altri elementi utili per la vendita dei nostri prodotti online.

 

Letto 1410 volte

corso CSS pratica

Impara HTML e CSS da zero al risulto!

Da piccolo hai imparato leggere leggendo libri. E con aiuto del nostro corso imparerai CSS e HTML costruendo un sito web da un templat in PSD .

Scopri il corso