mageintern

Magento Entwicklung und magento Tutorials

Ein Magento commerce Shop individuell gestalten
  • Home
  • Allgemein
  • Hilfsmittel
  • Shop Design
    • Header modifizieren
    • Navigation Tutorials
    • Produkt Details Tutorials
    • Startseite modifizieren
  • Snippets
  • Magento Freelancer
  • Referenzen
magento

Magento: Hersteller Logo anzeigen

magento-herstellerlogoZusätzlich zum Hersteller Namen kann auch das entsprechende Hersteller-Logo auf der magento Produkt-Detailseite (view.phtml) oder in der magento Produktliste (list.phtml) angezeigt werden. Wie man ein Herstellerlogo in einen magento Shop einbindet zeigt dieses Tutorial.

Die Ausgabe des Hersteller-Namens erfolgt mit

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

Erfolgt keine Anzeige so muss das manufacturer-Attribut noch im Adminbereich eingestellt werden:

Admin -> Katalog -> Attribute -> Attribute verwalten

Hier das Attribute manufacturer auswählen und die beiden nachfolgende Selectfelder auf Ja stellen.

magento-herstellerlogo-3Sichtbar auf der Produkt-Seite im Front-end: Ja
Im Produkt-Listing verwendet: Ja

Attribut speichern.


Der Herstellername wird nun mit Hilfe einiger PHP-Codezeilen in eine entsprechende Bild-Url umgeformt.

<?php // hersteller logo / manufactor brand
$herstellerpic = $_product->getAttributeText('manufacturer');
$umlaute = Array("/ä/","/ö/","/ü/","/ß/","/ /");
$ersetzen = Array("ae","oe","ue","ss", "");
$herstellerpic = utf8_decode($herstellerpic);
$herstellerpic = strtolower($herstellerpic);
$herstellerpic = preg_replace($umlaute, $ersetzen, $herstellerpic);
$herstellerpic = utf8_encode($herstellerpic);
?>

Erklärung der Codezeilen:

Zeile 1 speichert den Herstellernamen in die Variable herstellerpic

Zeile 2 + 3: Hier werden Umlaute und Leerzeichen Ersetzungen definiert. Umlaute und Leerzeichen dürfen in der Bild-Url ja nicht vorkommen.

Zeile 4: Notwenig. da der php-Befehl preg_replace UFT8 Umlaute nicht korrekt definiert.

Zeile 4: Umwandeln des Herstellernamen in Kleinbuchstaben.

Zeile 5: Hier werden evtl. vorhandene Umlaute ersetzt und Leerzeichen gelöscht.

Zeile 6: Hier wird der Herstellerstring wieder in UFT8 umgesetzt.

Diese Abfragen kann man selbstverständlich auch kürzer coden. Des Verständnis wegen habe ich jeden Befehl einzeln aufgezeigt.

Die letztendliche Logo-Ausgabe erfolgt mit dem Code

<img src="<?php echo $this->getSkinUrl('images/logos/').$herstellerpic.".gif"; ?>" alt="<?php echo $_product->getAttributeText('manufacturer') ?>" />

In diesem Beispiel ist das gif-Format eingefügt. Möchten Sie Ihre Logos lieber als jpg oder png speichern ändern Sie einfach die Zeile ab.

Den Bildnamen richtig definieren.

Entsprechend der im Manufacturer-Attribut hinterlegten Herstellernamen müssen die Bildnamen definiert werden.

Einige Beispiele:

Hersteller: Mustermann Bildname: mustermann.gif

Hersteller: Müllermann KG Bildname: muellermannkg.gif

Hersteller: Hägemüt Test Bildname: haegemuettest.gif

d.h. ä = ae, ü = ue, ö = oe, ß = ss und Leerzeichen entfernen.

Erstellen Sie ein Unterverzeichnis mit dem Namen logo in Ihrem skin/images Ordner und speichern dort alle Herstellerlogos ab.

Zum Beispiel:

skin/images/logo/muellermannkg.gif

Durch einfügen der nachfolgenden Code-Zeilen kann nun das Hersteller-Logo an beliebiger Stelle in der Produktanzeige (list.phtml und / oder view.phtml) erfolgen.

<?php // hersteller logo / manufactor brand
if ($_product->getManufacturer()):
$herstellerpic = $_product->getAttributeText('manufacturer');
$umlaute = Array("/ä/","/ö/","/ü/","/ß/","/ /");
$ersetzen = Array("ae","oe","ue","ss", "");
$herstellerpic = utf8_decode($herstellerpic);
$herstellerpic = strtolower($herstellerpic);
$herstellerpic = preg_replace($umlaute, $ersetzen, $herstellerpic);
$herstellerpic = utf8_encode($herstellerpic); ?>
<img src="<?php echo $this->getSkinUrl('images/logos/').$herstellerpic.".gif"; ?>" alt="<?php echo $_product->getAttributeText('manufacturer') ?>" />
<?php endif; ?>

Viel Spaß mit diesem Tutorial

Stefan Pröhl – robin2160

mageintern.de

Nachtrag:
Die Ausgabe wurde mit einer If-Abfrage erweitert. Diese prüft ob ein Hersteller überhaupt angegeben ist. Wenn nicht erfolgt auch keine Ausgabe und der IE zeigt auch kein Fehlbild mehr an.
Vielen Dank an Uniquesone für den Hinweis.

Zurück zu:

  • Produkt Details Tutorials
7.Sep. 2009
 

Kommentare: Magento: Hersteller Logo anzeigen

  1. DaVe sagt:
    19. Juni 2011 um 00:48

    Hallo Stefan, vielen Dank für diesen wirklich nützlichen Code. Ich möchte allerdings den Hersteller in der description.phtml ausgeben lassen. Was muß hierfür angepasst werden?

    Freue mich auf Deine Antwort, Gruß!

    [Antwort]

  2. Marcel sagt:
    15. April 2011 um 15:53

    Hey Stefan,
    vielen Dank für den Beitrag, hat bei mir in der Produktansicht auf Anhieb geklappt und ich bin total happy damit!
    Ich habe noch eine Frage: und zwar würde ich gerne auch ein Bild in der In-den-Warenkorb-Tabelle eines Gruppenproduktes ausgeben. Genau genommen soll das Attribut Farbe eines einfachen Prouktes ausgegeben werden. Wenn ich also “Grün” auswähle soll das Bild “gruen.gif” angezeigt werden.

    Habe es hiermit probiert:
    getColor()):
    $herstellerpic = $_item->getAttributeText(‘color’);
    $umlaute = Array(“/ä/”,”/ö/”,”/ü/”,”/ß/”,”/ /”);
    $ersetzen = Array(“ae”,”oe”,”ue”,”ss”, “”);
    $herstellerpic = utf8_decode($herstellerpic);
    $herstellerpic = strtolower($herstellerpic);
    $herstellerpic = preg_replace($umlaute, $ersetzen, $herstellerpic);
    $herstellerpic = utf8_encode($herstellerpic); ?>
    <img src="getUrl().’/stuff/bilder/logos/’.$herstellerpic.”.gif”; ?>” alt=”getAttributeText(‘color’) ?>” />

    Leider wird immer nur der Alttext, nicht aber das gif angezeigt. Hast du zufällig eine Idee woran es liegen kann?
    Danke und viele Grüße,
    Marcel

    [Antwort]

  3. Veit sagt:
    19. November 2010 um 13:26

    Hi, ich bekomms einfach nicht zu laufen.
    - bei mir heißt das attribut “hersteller” habe die 2 vorkommen von
    getAttributeText(‘manufacturer’) geändert in: getAttributeText(‘hersteller’)
    - im frontend anzeigen und product listing ist aktiviert
    - der ordner heißt “logo” habe geändert (steht übrigens als “logo” in der anleitung):
    (‘images/logos/’) –> (‘images/logo/’)
    - bilder sind jpgs also:
    “.gif” –> “.jpg”

    es funktioniert aber einfach nicht. hersteller ist angegeben, bilder heißen auch richtig.
    achso das ganze eingefügt in der view.php
    an was kanns liegen?

    [Antwort]

    mageintern - robin2160

    mageintern - robin2160 Antwort vom Dezember 2nd, 2010 18:41:

    Hi Veit,
    wird denn im Quelltext etwas angezeigt oder ist die Ausgabe in einem Teil der nicht angezeigt werden kann?

    VG Stefan

    [Antwort]

    Veit Antwort vom Dezember 7th, 2010 14:58:

    der code ist in
    direkt unter der dem div mit der Produktnamesausgabe

    im quelltext wird ausgegeben:

    Die Attributabfrage scheint irgendwie nicht zu klappen..

    [Antwort]

    Veit Antwort vom Dezember 8th, 2010 11:08:

    ok er hatt nen paar sachen geschluckt.. hier nochmal:
    der code ist in div class=”product-shop”
    direkt unter der dem div mit der Produktnamesausgabe
    im quelltext wird ausgegeben:
    img src=”…….de/skin/frontend/default/templatename/images/logo/.jpg” alt=”"

    mageintern - robin2160

    mageintern - robin2160 Antwort vom Dezember 9th, 2010 14:13:

    Wie man sieht wird kein Herstellerwert ausgegeben. Ist dein Attribut hersteller ein Select-Feld oder ein Textfeld?
    VG Stefan

    Veit Antwort vom Dezember 15th, 2010 15:53:

    ist ein textfeld

    mageintern - robin2160

    mageintern - robin2160 Antwort vom Dezember 15th, 2010 18:33:

    Die Ausgabe $_product->getAttributeText(‘manufacturer’) ist für das Standard-Selectfeld manufacturer gedacht.
    Verwendest du ein eigenes Hersteller-Attribute mit dem Namen hersteller als Textfeld muss die Ausgabe mit
    $_product->getHersteller();
    aufgerufen werden.

    VG Stefan

  4. Philipp Sälzer sagt:
    5. Juli 2010 um 14:47

    Hallo, kann ich die Bilder in der list.phtml auch skalieren? also gern kleiner als in der view.phtml!

    LG aus HH

    Phil

    [Antwort]

  5. paul sagt:
    26. Mai 2010 um 01:54

    echt super klasse, bin dir sehr dankbar für alles. knapp 7 monate danach gesucht, jetzt lässt sich auch mein produkt sehen lassen. kannst du hier nachschauen. dein verdienst
    www/.littlerabbits/.net

    Tausend dank

    [Antwort]

  6. b_nice sagt:
    9. Februar 2010 um 21:26

    Hallo Stefan,

    danke für die Antwort. Dann ist klar, warum es so dünn bei den Alternativen zu re-captcha aussieht.

    VG Sven

    [Antwort]

  7. b_nice sagt:
    24. Januar 2010 um 22:19

    Sehr schön – funktioniert auf Anhieb! Danke!

    P.S.: Wie wär es mal mit einem CAPTCHA für Magento wie in Euren Comments? Sowas würde ich als Modul glatt kaufen.

    [Antwort]

    mageintern - robin2160

    mageintern - robin2160 Antwort vom Januar 31st, 2010 15:45:

    Hi b_nice,
    freut mich das es dir gefällt und funktioniert.
    Ein Captcha in magento ist nicht ganz so einfach einzubauen.
    Aber wird auch hier an einer umsetzbaren Lösung gearbeitet.

    VG Stefan

    [Antwort]

  8. uws sagt:
    17. Januar 2010 um 10:52

    in der list.phtml funktioniert das, in der view.phtml nicht. Woran kann das liegen?

    feine Grüße und weiter so, diese Seiten sind ein eine Riesenhilfe, auch, um MAGENTO ein wenig besser kennen zu lernen.

    feine Grüße

    Uws

    [Antwort]

    mageintern - robin2160

    mageintern - robin2160 Antwort vom Januar 17th, 2010 16:20:

    Hi Uws,
    freut mich sehr das es auch dir weiterhilft.
    Nun zu deiner Frage.
    Vieleicht hast du den String an einer Stelle eingebaut an der keine Ausgabe erfolgen kann,
    z.B. innerhalb einer if-Abfrage die nicht greift.
    Probiere doch mal den Ausgabestring direkt unterhalb der Titelausgabe oder Description des Produktes einzufügen.

    Viele Grüße
    Stefan

    [Antwort]

  9. mato99 sagt:
    8. Januar 2010 um 02:28

    Hi, danke für das Tutorial.

    Bei mir wird nichts angezeigt. Any Ideas?

    Folgende Schritte:
    1.) Logo angelegt und nach
    ../magento/skin/frontend/default/XXX/images/logo/musto.png
    verschoben.

    2.) Code kopiert und in ../magento/app/design/frontend/default/XXX/template/catalog/product/view.phtml eingefügt

    3.) Attribut ist entsprechen der Sichtbarkeit im frontend eingeschaltet

    [Antwort]

    mageintern - robin2160

    mageintern - robin2160 Antwort vom Januar 9th, 2010 14:33:

    Hi mato99,
    da du png Grafiken verwendest solltest du auch den Ausgabestring anpassen.
    Einfach von getSkinUrl(‘images/logos/’).$herstellerpic.”.gif”;
    nach
    getSkinUrl(‘images/logos/’).$herstellerpic.”.png”;
    ändern.

    VG Stefan

    [Antwort]

  10. Uniquesone sagt:
    12. Oktober 2009 um 02:32

    Wow herzlichen dank, habe mich danach fast totgesucht.

    [Antwort]

Kommentar schreiben

Hier klicken, um die Antwort abzubrechen.

Klicken um Antwort abzubrechen
← Magento Top 10 Ausgabe Box
Magento: Inline Übersetzung Praxisbeispiel →

Letzte Artikel

  • Magento 1.5: Checkout – Please enter a valid full date
  • Magento 1.5 Bugfix für Customer Option mit Prozent-Aufschlag
  • Magento: Produkte auf CMS-Seiten anzeigen
  • Magento: Mengen-Eingabefeld in der Produktliste
  • Magento Big Produkt-Slider

Letzte Kommentare

  • DerZyklop bei Magento: Modern Tabs im default theme
  • Christian bei Magento Big Produkt-Slider
  • Matülde bei Magento 1.5: Checkout – Please enter a valid full date
  • Monia bei Magento: Produkte auf der Startseite anzeigen
  • Rene bei Magento 1.5: Checkout – Please enter a valid full date

Magento Links

  • webguys.de
Anmelden | Home | Impressum | Datenschutz

Copyright © 2012 Magento Entwicklung und magento Tutorials

Powered by WordPress