Question

J'essaie de montrer les attributs produit sur la grille-View (catalogue (produits / list.phtml).

app / code / coreMage / Catalogue / Bloc / Produit / list.php J'ai trouvé

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

A mon catalog.xml (thème / layout / catalog.xml) ajouter les éléments suivants « addAttribute dans mon bloc

    <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 mon PHTML-modèle, je tente de montrer le fabricant comme ceci:

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

Mais il doesen't travail. Je ne sais pas pourquoi. J'ai trouvé le tutoriel via Google et je suis sûr que je « ai fait juste. Je travaille avec Magento Enterprise 1.13. Où est ma faute? Merci pour votre aide.

Était-ce utile?

La solution

Vous ne besoin de tout ce balisage XML pour ajouter un attribut à la grille du produit. Il suffit de modifier l'attribut dans le back-end, définissez le Used in Product Listing sur le terrain à Yes, tout réindexation et vous devriez être en mesure d'utiliser dans catalog/product/list.phtml ceci:

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

Autres conseils

Dans magento 1.7.2, vous devez utiliser ce

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

Si vous souhaitez aller plus loin et afficher un logo pour les fabricants, vous pouvez mettre en œuvre le code suivant dans les deux view.phtml et / ou 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.'">'; 
                    }
                    ?>

. Remarque: vous devez placer un jpg pour chaque nom du fabricant dans votre / magento / media / catalogue / marque / le nom doit correspondre à votre attribut fabricant

Exemple:

Fabricant = FRIGO ----> Nom du fichier = FRIDGE.jpg

Si vous ne placez pas un fichier correspondant à l'attribut du fabricant, le nom d'attribut sera affiché.

Dans Magento CE 1.9, nous avons essayer réponse Marius et ne fonctionne pas, nous avons le faire:

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

Il peut être un autre attribut et ne manquez pas d'activer utilisé dans la liste des produits.

Pour obtenir la valeur pour le pays de fabrication, vous avez juste besoin d'écrire du code ci-dessous dans votre fichier de liste. Ce code est utilisé pour la liste déroulante par défaut pour la fabrication de pays pour le produit.

Il suffit de modifier l'attribut dans le back-end, définissez le champ « utilisé dans la liste des produits » à « Oui ».

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

Ici country_of_manufacture est le code d'attribut.

J'ai besoin fabricant avec un lien hyper. Mon site web ayant module de marché et chaque vendeur a magasin et le nom du magasin dans ce « bloc-titre mp-fournisseur-name » . Maintenant, je veux montrer chaque nom du vendeur ci-dessous produit à la page de catégorie.

S'il vous plaît, aidez-moi. Merci à l'avance.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top