Quitar botón añadir a carro cuando precio == 0 Magento

Hace tiempo realice una migración de Virtuemart a Magento  y uno de los campos que se migró fue el precio, Virtuemart por default cuando el precio es igual a 0.00 no deja hacer la compra del producto pero Magento si hace el proceso de compra, para arreglar este inconveniente hay que editar dos archivos, uno para vista detalle del producto y otro para vista de listado de productos.
 
para la vista del listado de productos:
 /app/design/frontend/default/[nombre de template]/template/catalog/product/list.phtml
 
Buscamos el siguiente código: 
<?php if($_product->isSaleable()): ?>
  <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')">
    <span>
		    <span><?php echo $this->__('Add to Cart') ?></span>
	</span>
  </button>
    <?php else: ?>
        <p class="availability out-of-stock">
		   <span><?php echo $this->__('Out of stock') ?></span>
		</p>
     <?php endif; ?>
Y lo sustituimos por el siguiente:

<?php if($_product->isSaleable()): ?>
    <?php if( $_product->price != ''): ?>
        <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')">
		  <span>
		    <span><?php echo $this->__('Add to Cart') ?></span>
		  </span>
		</button>
    <?php endif; ?>
    <?php else: ?>
       <p class="availability out-of-stock">
	      <span><?php echo $this->__('Out of stock') ?></span>
	   </p>
<?php endif; ?>
Como podemos ver, únicamente agregamos una condicional para que cuando el producto no tenga especificado el precio no muestre el botón de agregar a carro.
 
Para la vista de detalle del producto editamos el siguiente archivo:
app/design/frontend/base/default/template/catalog/product/view/addtocart.phtml
 
Buscamos el siguiente código:
<?php if($_product->isSaleable()): ?>
  <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')">
     <span><span><?php echo $this->__('Add to Cart') ?></span></span>
  </button>
<?php else: ?>
  <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
<?php endif; ?>

Y lo sustituimos por el siguiente:   

<?php if($_product->isSaleable()): ?>
	<?php if( $_product->price != ''): ?>
	<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')">
	   <span><span><?php echo $this->__('Add to Cart') ?></span></span>
	</button>
	<?php endif; ?>
	<?php else: ?> 
	   <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?>
	</span></p>
<?php endif; ?>

[Total: 0    Average: 0/5]