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;