Magento – Ocultar tipos de produto

Para ocultar algumas opções de tipos de produtos disponíveis, precisamos reescrever um método de modelo central: /core/Mage/Catalog/Product/Type.php

1. Etapa um

Crie seu módulo – tenho certeza de que você sabe como fazer esta etapa

2. Etapa dois

Adicione a configuração de reescrita no config.xml em seu módulo como abaixo:

<?xml version="1.0"?>
<config>
<global>
<models>
<catalog>
<rewrite>
<product_type><Namespace>_Catalog_Model_Product_Type</product_type>
</rewrite>
</catalog>
</models>
</global>
</config>

3. Etapa três

Adicione o novo método ao seu arquivo personalizado

<?php 
class <Namespace>_Catalog_Model_Product_Type extends Mage_Catalog_Model_Product_Type
{
static public function getOptionArray()
{
$options
= array();
foreach(self::getTypes() as $typeId=>$type)
{
/*
- Product Simple: catalog/product_type_simple

- Virtual Product : catalog/product_type_virtual

- Bundle Product : catalog/bundle/product_type

- Downloadable Product : downloadable/product_type

- Configurable Product : catalog/product_type_configurable

- Grouped Product : catalog/product_type_grouped

*/

if(
$type
['model'] != "catalog/product_type_virtual"
&& $type["model"] != "bundle/product_type"
&& $type["model"] != "downloadable/product_type")
{
$options
[$typeId] = Mage::helper('catalog')->__($type['label']);
}
}

return $options;
}
}