Und wieder einmal habe ich ein kleines Magento Tutorial für euch. Heute geht es darum, den Block mit den zuletzt angesehen Artikeln um die Produktbilder und Preise der Artikel zu erweitern. Das Ganze ist schnell gemacht und kann dem Magento Theme ein klein wenig mehr Usability bringen.
1. Vorbereitung:
Ich kann es nicht oft genug sagen. Bitte arbeitet nie im base/default/ Theme! Die Änderungen dort sind nicht ohne weiteres umkehrbar und werden durch Updates überschrieben.
Kopiert folgende Datei
/app/design/frontend/base/default/template/reports/product_viewed.phtml
in das entsprechende Verzeichnis im aktuellen Theme.
2. Umsetzung
Wir ersetzen den Inhalt der Datei mit folgendem:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <!--?php if ($_products = $this---> <?php if ($_products = $this->getRecentlyViewedProducts()): ?> <div> <div> <strong><span><?php echo $this->__('Recently Viewed Products') ?></span></strong> </div> <div> <ol id="recently-viewed-items"> <?php foreach ($_products as $_item): ?> <li> <!-- Hier wird das Bild ausgegeben --> <a href="<?php echo $this->getProductUrl($_item) ?>"> <img src="<?php echo $this->helper('catalog/image')->init($_item, 'small_image')->resize(50, 50) ?>" width="50" height="50" alt="<?php echo $this->htmlEscape($_item->getName()) ?>" /> </a> <div> <p> <a href="<?php echo $this->getProductUrl($_item) ?>"><?php echo $this->htmlEscape($_item->getName()) ?></a> </p> <!-- Und hier wird der Preis ausgegeben --> <?php echo $this->getPriceHtml($_item, true) ?> </div> </li> <?php endforeach; ?> </ol> <script type="text/javascript">decorateList('recently-viewed-items');</script> </div> </div> <?php endif; ?> |
Das wars schon. Den Cache aktualisieren nicht vergessen. Fertig!




Hallo,
Danke für die super Erweiterung. Bisher hat sie auch wunderbar funktioniert.
Nun habe ich aber den Server gewechselt und auf PHP 5.3 umgestellt. Nun bringt Magento mir folgende Fehlermeldung:
<a href="Fatal error: Call to a member function getProductUrl() on a non-object in /home/xx/xx/magento/app/design/frontend/xx/default/template/reports/product_viewed.phtml on line 36
Diese Zeile 36 beinhaltet:
<a href="getProductUrl() ?>” title=”htmlEscape($_product->getSmallImageLabel()) ?>”>
<img src="helper(‘catalog/image’)->init($_product, ‘small_image’)->resize(200, 150); ?>” width=”200″ height=”150″ alt=”htmlEscape($this->getImageLabel($_product, ‘small_image’)) ?>” title=”htmlEscape($this->getImageLabel($_product, ‘small_image’)) ?>” />
Hat jemand einen kleinen Tipp?
Gruß
Der Knipser