Pregunta

Trato de mostrar producto-Atributos en la parrilla-View (catálogo (productos / list.phtml).

En la aplicación / código / coreMage / Catálogo / Bloquear / producto / list.php me encontré con este

public function addAttribute($code)
{
    $this->_getProductCollection()->addAttributeToSelect($code);
    return $this;
}

A mi catalog.xml (tema / diseño / catalog.xml) añado lo siguiente "addAttribute en mi bloque

    <catalog_category_default translate="label">
    <label>Catalog Category (Non-Anchor)</label>
    <reference name="left">
        <block type="catalog/navigation" name="catalog.leftnav" after="currency" template="catalog/navigation/left.phtml"/>
    </reference>
    <reference name="content">
        <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
            <block type="catalog/product_list" name="product_list" template="catalog/product/list.phtml">

                <action method="addAttribute"><attribute>Manufacturer</attribute></action>

A mi PHTML-plantilla, trato de mostrar el fabricante de esta manera:

<?php echo $_product->getAttributeText('manufacturer') ?>

Pero doesen't trabajo. No sé por qué. He encontrado el tutorial a través de Google y estoy seguro de que he hecho lo correcto. Yo trabajo con Magento Empresa 1.13. ¿Dónde está mi culpa? Gracias por su ayuda.

¿Fue útil?

Solución

Usted no necesita todo lo que el formato XML para añadir un atributo a la red del producto. Basta con modificar el atributo en el backend, establezca el campo para Used in Product Listing Yes, reindex todo y usted debería ser capaz de utilizar en catalog/product/list.phtml esto:

<?php echo $_product->getAttributeText('manufacturer') ?>

Otros consejos

En Magento 1.7.2 usted tiene que utilizar este

<?php echo $_product->getManufacturer() ?>

Si desea ir un paso más allá y mostrar un logotipo para los fabricantes, se puede aplicar el siguiente código en tanto view.phtml y / o list.phtml:

   <?php $brand=$_product->getAttributeText('manufacturer');
$filename= $_SERVER['DOCUMENT_ROOT'].'/media/catalog/brands/'.str_replace(' ', '_',$brand).'.jpg';
if (file_exists($filename)) {
                    echo '<img style="float: left; margin: 2px;" src="/media/catalog/brands/'.str_replace(' ', '_',$brand).'.jpg" alt="'.$brand.'">'; 
                    }
                    ?>

Nota:. Es necesario colocar un archivo JPG para cada nombre de fabricante en su / magento / media / Catálogo / marca / el nombre debe coincidir con el atributo fabricante

Ejemplo:

Fabricante = FRIGORÍFICO ----> Nombre = FRIDGE.jpg

Si no se coloca un archivo que coincida con el atributo fabricante, se mostrará el nombre del atributo.

En Magento 1.9 CE, tenemos que tratar respuesta Marius y no funciona, tenemos que hacer esto:

<?php echo $this->__('Year:') . $this->htmlEscape($_product->getData('year'));?>

Puede ser otro atributo y no se pierda para encender utilizado en la lista de productos.

Para conseguir el valor para el país de fabricación sólo tiene que escribir código siguiente en el archivo de lista. Este código se utiliza para desplegable por defecto para la fabricación de productos para el país.

Sólo editar el atributo en el backend, establezca el campo "Se utiliza en productos de venta" a "Sí".

<?php echo $_product->getAttributeText('country_of_manufacture') ?>

Aquí country_of_manufacture es el código de atributo.

Necesito fabricante con un hipervínculo. Mi sitio web que tenga módulo de mercado y cada vendedor tiene tienda y nombre de la tienda en este "mp-proveedor de nombres de bloque de título" . Ahora quiero mostrar el nombre de cada vendedor por debajo del producto en la página categoría.

Por favor me ayude a cabo. Gracias de antemano.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top