Spiegeleffekt/Mirror für Magento Produktlisting

Wieder einmal möchte ich zeigen wie man mit jQuery und wenigen Zeilen Code viel bewirken kann.
Damit unsere Produkte besser/edler in Szene gesetzt werden, möchte ich einen Spiegeleffekt haben. Anstatt die Produkte einzeln zu bearbeiten soll jQuery diese Tätigkeit für uns übernehmen
.
Wie schön – es gibt dafür ein Plugin auf www.digitalia.be.
Voraussetzung: Installation von jQuery Base oder manuelle Installation von jQuery.

Die Umsetzung ist sehr einfach. Wir müssen nur das JQuery-Plugin einbinden, im Produktlisting die Bilder mit der Klasse “reflection” versehen und das Plugin aufrufen.
Umsetzung
1. Plugin einbinden
Kopieren Sie die Datei reflection.js nach skin/frontend/[ihr interface]/[ihr theme]/js/
Sie finden alle Dateien als ZIP-Download am Ende dieses Tutorials.
Öffnen Sie die Datei app/design/frontend/[ihr interface]/[ihr theme]/layout/page.xml und fügen Sie folgende Zeile
<action method="addItem"><type>skin_js</type><name>js/reflection.js</name></action>
vor die Zeile
<action method="addItem"><type>skin_css</type><name>css/iestyles.css</name><params/><if>lt IE 8</if></action>
2. list.phtml anpassen
Öffnen Sie die Datei app/design/frontend/[ihr interface]/[ihr theme]/templates/catalog/product/list.phtml. Die folgenden Änderungen beziehen sich auf das Default-Template aus Magento Version 1.3.2.2.
In Zeile 51 und 99 fügen Sie das Attrribut class=”reflection” hinzu
... <img class="reflection" src="<?php echo ... ...
vor der Funktion getToolbarHtml() rufen wir das Reflection-Plugin auf.
...
</div>
<?php endif; ?>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery(".product-image a img").reflect();
});
</script>
<?php echo $this->getToolbarHtml() ?>
<?php endif; ?>
wenn Sie möchten können Sie die Parameter Höhe und Transparenz anpassen. Der Aufruf erfolgt dann wie folgt.
jQuery(".product-image a img").reflect({height:0.1,opacity:0.50});
Testen können Sie die Parameter auf der Website der Herstellers.
Ansehen könnt Ihr es auf unserer Testinstallation unter www.demo-store.de.
ACHTUNG: Wenn Sie das modern Theme einsetzen, ändert sich der Aufruf in:
...
jQuery("a.product-image img").reflect();
...
Viele Spaß damit
Johannes Teitge


Besten Dank! So etwas habe ich schon gesucht.
War diese Antwort hilfreich?
LikeDislikeDer Spiegeleffekt sieht in den Browsern Safari und Firefox wirklich prima aus. Nur der IE8 platziert die Produktbeschreibungen einen (gefühlten) halben Kilometer unter das gespiegelte Bild. Selbst im Kompatibilitätsmodus ;-((. Ich suche schon seit Tagen nach einem Bugfix. Habt Ihr vielleicht einen Tipp?
Habe Euren Workaround zu Problemen mit IE8 schon in meinen Magento-Shop implementiert…das hat mir bei einem anderen Problem (Classic Theme) prima geholfen, nur bei diesem leider nicht. Wäre für eine kurze Info echt dankbar…;-)
War diese Antwort hilfreich?
LikeDislikeOkay, hat sich erledigt. Da der Effekt im quirks-mode des IE korrekt dargestellt wurde, konnte ich sehen, dass der IE die Image-Größe nicht richtig berechnet. Also habe ich einen max-height Wert für die Produktbilder vorgegeben.
.listing-type-list .product-image { float:left; width:208px; max-height: 265px; }
Vermutlich nicht die eleganteste Lösung, aber es funktioniert.
War diese Antwort hilfreich?
LikeDislikeDie Thumbnails sollten ja immer unten bündig ausgerichtet sein, damit der Abstand zwischen Produkt und Spiegelung immer gleich bleibt. Was allerdings schwierig wird, wenn die Produktbilder eine unterschiedliche Höhe haben… Magento bringt zwar alle Thumbs auf eine einheitliche Höhe, zentriert dabei aber das Produktbild. Kann man Magento beibringen die Thumbs unten ausgerichtet generieren zu lassen?
Ich hoffe das war einigermaßen verständlich …
War diese Antwort hilfreich?
LikeDislike