Login

           | 

Cerca nel sito...

Ricerca personalizzata

Segnala il sito

Segnala a: Mr. Wong Segnala a: Webnews Segnala a: Icio Segnala a: Oneview Segnala a: Kledy.de Social Bookmarking Segnala a:  FAV!T Social Bookmarking Segnala a: Favoriten.de Segnala a: Seekxl Segnala a: Social Bookmark Portal Segnala a: BoniTrust Segnala a: Power-Oldie Segnala a: Bookmarks.cc Segnala a: Newskick Segnala a: Newsider Segnala a: Linksilo Segnala a: Readster Segnala a: Yigg Segnala a: Linkarena Segnala a: Digg Segnala a: Del.icoi.us Segnala a: Reddit Segnala a: Jumptags Segnala a: Upchuckr Segnala a: Simpy Segnala a: StumbleUpon Segnala a: Slashdot Segnala a: Netscape Segnala a: Furl Segnala a: Yahoo Segnala a: Blogmarks Segnala a: Diigo Segnala a: Technorati Segnala a: Newsvine Segnala a: Blinkbits Segnala a: Ma.Gnolia Segnala a: Smarking Segnala a: Netvouz Segnala a: Folkd Segnala a: Spurl Segnala a: Google Segnala a: Blinklist Information
Social Bookmarking
Banner
Hello, unfortunately not all of the site is translated into English, or is poorly translated. I apologize and ask you to help me. Notify errors, send me translations, together we will build a free service certainly helpful to many!
Virtuemart 1.1.2 - Prezzo scontato nel menù di selezione degli attributi PDF Stampa E-mail
Valutazione attuale: / 3
ScarsoOttimo 
Scritto da Massimiliano Pasqualoni   
Giovedì 08 Gennaio 2009 14:02
Preparando un sito eCommerce con Virtuemart ho notato che nel box della selezione degli attributi di un articolo il prezzo visualizzato è privo di sconti.
Questa visualizzazione può risultare scomoda, in quanto sul prezzo di listino nel box non si fa nessun riferimento ad eventuali sconti ed inoltre, avendo creato delle tabelle con i prezzi per le varianti all'interno della descrizione dell'articolo, mi ritrovo con una discordanza di prezzi tra quello indicato nella tabella e quello riportato nella lista di selezione.
Logicamente il tutto si risistema nel momento dell'acquisto, nel carrello infatti il prezzo di listino riportato nel menù di selezione viene poi scontato dello sconto applicato nell'anagrafica.
Oltre ad essere esteticamente poco piacevole, è anche controproducente, un conto è trovare ad esempio un articolo a 1200 euro, un conto è trovarlo a 900!
 
Oltre che mettere un avviso in cui si indica al potenziale acquirente che il prezzo nel menù a tendina è da scontare, che francamente ritengo una soluzione non ottimale in quanto dubito che qualcuno legga l'avviso, è il colpo d'occhio quello che conta, specialmente facendo shopping, è possibile ovviare al problema modificando parte del codice di Virtuemart.

 
Il file che prende le informazioni sugli attributi di un articolo e li passa poi al template è il file  
 
    ps_product_attribute.php
 
che si trova in
 
    /administrator/components/com_virtuemart/classes/
 
Creiamo una copia di backup del file per poterlo ripristinare al volo in caso di problemi con le modifiche.
 
Cominciamo a modificare il codice.
 
Intorno alla riga 715 troviamo il codice
    
        if( $product_id == 0 )
            $product_id = $prod_id ;
 $q = "SELECT product_id, attribute FROM #__{vm}_product WHERE product_id='$product_id'" ;

 
cambiamolo con
    
        if( $product_id == 0 )
            $product_id = $prod_id ;
  $starttime = time();
  $year = date('Y');
  $month = date('n');
  $day = date('j');
  // get the beginning time of today
  $endofday = mktime(0, 0, 0, $month, $day, $year) - 1440;
  //$q = "SELECT product_id, attribute FROM #__{vm}_product WHERE product_id='$product_id'" ;
  $q = "SELECT a.product_id, a.attribute, b.amount, b.is_percent FROM #__{vm}_product AS a LEFT JOIN  #__{vm}_product_discount AS b ON a.product_discount_id = b.discount_id WHERE a.product_id='$product_id'  OR (a.product_id='$product_id' AND (b.start_date='$endofday' OR b.end_date=0))";

 
In questa parte di codice andiamo a definire le variabili per la ricerca ed impostiamo la query.
La query al dB prende gli attributi personalizzati ed i dati dello sconto, oppure solo gli attributi dell'articolo se non dovesse essere applicato nessuno sconto.
 
Dopo il comando (ex riga 722, ora 730)
 
        $advanced_attribute_list = $db->f( "attribute" ) ;
 
inseriamo
 

        $discountAmount=$db->f( "amount" ) ;
 $discountPercent=$db->f( "is_percent" ) ;

 
in questo modo leggiamo i dati relativi allo sconto.
 
Alla riga 777 cambiamo la stringa  
 
        $options_item['display_price'] = $CURRENCY_DISPLAY->getFullValue( $price ) ;
        
con  
        if($discountPercent)
            $options_item['display_price'] = $CURRENCY_DISPLAY->getFullValue( $price* (1 - ($discountAmount/ 100)) ) ;        
else
            $options_item['display_price'] = $CURRENCY_DISPLAY->getFullValue( $price - $discountAmount ) ;

 
in questa parte di codice andiamo a verificare il tipo di sconto, se è uno sconto in percentuale vado a sottrarre dal prezzo la percentuale indicata, se è uno sconto assoluto scalo dal prezzo l'ammontare dello sconto.
 
Salviamo il file, pubblichiamolo e facciamo un giro sul nostro sito eCommerce per vedere che tutto funzioni alla perfezione!

Per i pigri è possibile scaricare il file direttamente dai Downloads!
 
Ultimo aggiornamento Giovedì 08 Gennaio 2009 14:45
 
Altri Articoli :

» Virtual Box, clonare disco virtuale

Ho la necessità di avere un clone di un disco virtuale, faccio copia ed incolla del file vdi ma quando registro il media il sistema va in errore, dicendomi che esiste già un disco con lo stessi UUID.Come risolvo? 

» Ctrl Alt Canc in Desktop Remoto

{mosgoogle}Sin dalla preistoria dell'informatica l'uomo ha imparato a coestitere con la combinazione dei tasti Ctrl + Alt + Canc che nelle vecchie macchine PC IBM e compatibili eseguiva il reboot del DOS, nelle moderne attiva il WinLogon per...

» Problemi con i Template in Internet Explore 8

Che fantastico mondo l’informatica! Puoi studiarlo sotto ogni aspetto, aggiornarti su tutto, ma sarai sempre obsoleto su qualcosa!Se poi ci si mette anche Microsoft ad incasinarti la vita poi.....Quasi quasi aveva ragione mamma! "Che studi a fare?...

» XBMC su UBUNTU

Volete trasformare il vostro pinguino in un animale da salotto dedito ad ogni genere di intrattenimento?!Dopo la XBox XBMC ha conquistato anche Ubuntu! Ecco una semplice procedura per installare uno trai più belli, potenti e versatili media center...

» trasformiamo la vecchia Xbox in un mediacenter

Avete una vecchia Xbox e non volete venderla perché ci siete affezionati?Certo è un peccato tenerla nascosta in soffitta o chiusa in un ripostiglio ad arrugginire, anche perché, con qualche piccola modifica, può diventare un...
RocketTheme Joomla Templates