Visualizzare un messaggio automatico quando l'oggetto visualizzato è l'ultimo della collezione

Una funzione molto utile (e molto richiesta) di un e-commerce è quella di mostrare al navigatore se l'articolo che sta visualizzando è l'ultimo della collezione permettendogli, così, di sapere se deve acquistare subito o può permettersi di pensarci ancora un pò di tempo.

Al percorso app/design/frontend/tuo_pacchetto/tuo_tema/template/catalog/product/view.phtml definiamo la variabile:

        
$_prodQty= (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty()
            

Così abbiamo recuperato il numero degli articoli a stock, non ci resta che dire a Magento come deve comportarsi nel caso in cui sia rimasto un solo articolo disponibile:

if ($_prodQty==1): 
   echo $this->__('Solo 1 disponibile')
else:
   echo $this->__('In stock')
endif            

E se l'articolo fosse del tutto esaurito? Trasformiamo un pò il nostro script:

if ($_prodQty==1):
  echo $this->__('Solo 1 disponibile')
else: 
   if ($_prodQty>0):
     echo $this->__('In stock')
   else:
     echo $this->__('Out of stock')
    endif 
endif 
            

In questo modo, Magento farà un primo controllo per verificare se il numero degli articoli a stock (la variabile prodQty, definita all'inizio) è uguale a uno, in tal caso mostrerà un messaggio per avvisare l'utente che il prodotto è quasi terminato. In caso contrario, cioè se il numero degli articoli fosse diverso da uno, verificherà semplicemente se l'oggetto in vendita è disponibile oppure esaurito

 

Con lo stesso criterio è possibile mostrare all'utente quanti articoli sono rimasti in stock, funzione molto utile in un e-commerce B2B.

 

Visualizzare in frontend il numero degli articoli rimasti in collezione

if ($_product->isAvailable()):
  echo (int)Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty() else: 
  echo $this->__('Coming soon') 
endif;

blog comments powered by Disqus