Attributs de produit sur les produits Grille / Liste (fabricant)
-
16-10-2019 - |
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.
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.