Frage

Ich versuche, Produktattributen auf dem Rasteransicht (Katalog (Produkte/list.phtml) anzuzeigen.

Bei app/code/coremage/catalog/block/product/list.php Ich habe das gefunden

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

Bei meinem Catalog.xml (Thema/Layout/Catalog.xml) füge ich die folgende "Addattribute in meinem Block" hinzu

    <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>

Bei meiner Phtml-Template versuche ich, dem Hersteller wie folgt zu zeigen:

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

Aber es funktioniert nicht. Ich weiß nicht warum. Ich habe das Tutorial über Google gefunden und ich bin sicher, dass ich es richtig gemacht habe. Ich arbeite mit Magento Enterprise 1.13. Wo ist meine Schuld? Danke für Ihre Hilfe.

War es hilfreich?

Lösung

Sie brauchen nicht all das XML -Markup, um dem Produktnetz ein Attribut hinzuzufügen. Bearbeiten Sie einfach das Attribut im Backend, setzen Sie das Feld Used in Product Listing zu Yes, reindex alles und du solltest in der Lage sein, in der Lage zu sein catalog/product/list.phtml Dies:

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

Andere Tipps

In Magento 1.7.2 müssen Sie dies verwenden

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

Wenn Sie einen Schritt weiter gehen und ein Logo für die Hersteller anzeigen möchten, können Sie den folgenden Code sowohl in view.phtml und/oder list.phtml implementieren:

   <?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.'">'; 
                    }
                    ?>

HINWEIS: Sie müssen einen JPG für jeden Herstellernamen in Ihrem platzieren /Magento/Media/Katalog/Marke/ Der Name muss mit Ihrem Herstellerattribut übereinstimmen.

Beispiel:

Hersteller = Kühlschrank ----> Dateiname = Kühlschrank.jpg

Wenn Sie keine Datei einstellen, die mit dem Herstellerattribut entspricht, wird der Attributname angezeigt.

In Magento 1,9 n. Chr. Wenn wir Marius antworten und nicht funktionieren, haben wir dies getan:

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

Es kann ein weiteres Attribut sein und es nicht verpassen, in der Produktliste einzuschalten.

Um einen Mehrwert für das Manufaktur des Landes zu erhalten, müssen Sie nur den folgenden Code in Ihre Listendatei schreiben. Dieser Code wird für die Standard -Dropdown für die Länderherstellung für Produkte verwendet.

Bearbeiten Sie einfach das Attribut im Backend und legen Sie das Feld "In der Produktliste" auf "Ja" fest.

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

Hier country_of_manufacture ist der Attributcode.

Ich brauche Hersteller mit einer Hyperverbindung. Meine Website mit Marketplace -Modul und jeder Verkäufer hat einen Shop- und Shop -Namen darin "Blocktitel MP-Vendor-Name" . Jetzt möchte ich jeden Verkäufernamen unten auf der Kategorieseite zeigen.

Bitte hilf mir. Danke im Voraus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top