Google+

Come noto con l'avvento di virtuemart 2.0 alcune comode funzioni della versione 1.1 sono andate perse. Una di queste per l'appunto era proprio la possibilità di nascondere il carrello in qualsiasi prodotto desiderato con un semplice flag dalla scheda prodotto. Per ovviare a questo "problema" abbiamo realizzato un piccolo Fix che sembra andare bene (si accettano critiche costruttive al riguardo) nascondendo del tutto il carrello dal prodotto padre.

Per non perdere tale modifica a seguito di eventuali aggiornamenti di virtuemart abbiamo preferito agire in override senza toccare il codice originale.

(Se non avete gia eseguito altri override seguite questa altra guida.)

copiare il file default.php che si trova nella directory

components/com_virtuemart/view/productdetails/tmpl

dentro

templates/NOME-VOSTRO-TEMPLATE/html/com_virtuemart/productdetails

andare alla riga 189 del file copiato e sostituire il codice (nel nostro caso la versione di virtuemart è la 2.0.6 in altre versioni potrebbe variare):

 if (!VmConfig::get('use_as_catalog', 0) and !empty($this->product->prices))
{ echo $this->loadTemplate('addtocart'); } // Add To Cart Button END 

con

 $db = JFactory::getDbo();
$query = 'SELECT product_parent_id FROM #__virtuemart_products WHERE product_parent_id='.$this->product->virtuemart_product_id.' ';
$db->setQuery($query); 
$result = $db->loadResultArray(); 
$childs = count($result); 
if (!VmConfig::get('use_as_catalog', 0) and !empty($this->product->prices) and (!$childs))
{ echo $this->loadTemplate('addtocart'); } // Add To Cart Button END 

Salvate e testate il funzionamento

Condividi