MANUFACTURER en el Frontend ??

ososoft

Nuevo usuario
Buenas otra vez, alguien sabe si se puede poner una relacion de manufacturer en la pagina de inicio de tal forma que el cliente sepa las marcas que puede comprar en la pagina, como en oscommerce existe la contribucion "all manufacturer" ??
 

joseprr87

Nuevo usuario
Hola a todos. Estoy comenzando con esto de magento.

Tengo la versión 1.4.

He estado siguiendo lo que dicen en este foro (aunque luego he descubierto que no era para la 1.4)

he creado los ficheros:

1. design/frontend/default/???/template/catalog/product/Manufacturer.phtml:

<ul id="manufacturer_list">
<?php foreach ($this->getAllManu() as $manufacturer): ?>
<li><?php echo $manufacturer['label'] ?></li>
<?php endforeach; ?>
</ul>

2. app/local/mage/catalog/block/product/Manufacturer.php (aunque en la web esta decían que lo pusieramos en core, pero como tengo entendido que esto no se toca.... pues por eso lo he puesto en local)
class Mage_Catalog_Block_Product_Manufacturer extends Mage_Core_Block_Template
{
public function getAllManu(){
$product = Mage::getModel('catalog/product');
$attributes = Mage::getResourceModel('eav/entity_attribute_collection')
->setEntityTypeFilter($product->getResource()->getTypeId())
->addFieldToFilter('attribute_code', 'manufacturer');
$attribute = $attributes->getFirstItem()->setEntity($product->getResource());
$manufacturers = $attribute->getSource()->getAllOptions(false);
return $manufacturers;
}
}


pero al visitar el frontend me sale el error:
Exception printing is disabled by default for security reasons.


si hago un var_dump($this) en el manufacturer.phtml antes del bucle, aparece:

object(Mage_Catalog_Block_Product)[47] i un monton de cosas por lo que deduzco que no sabe encontrar el fichero manufacturer.php....

alguien podría ayudarme?
gracias
adiós.
 
Upvote 0

joseprr87

Nuevo usuario
Hola de nuevo.

He podido arreglarlo añadiendo el método getAllManu() dentro de la classe Mage_Catalog_Block_Product que en principio está en /app/code/core/Mage/Catalog/Block/Product.php pero como no queiro tocar el código de core, he creado una copia en /app/code/local/Mage/Catalog/Block/Product.php y he añadido aquí el método.

Funciona bien.

Pero me gustaría por favor que me corregierais, si encontrais una forma mejor de hacerlo..

gracias.
 
Upvote 0
Arriba