Magento Magento Open Source & Adobe Commerce

GARAN-Label und Gewährleistungslabel in Magento 2 einbinden

Zwei Aufgaben, zwei Mechanismen: ein shopweites Gewährleistungslabel per CMS-Block und Layout-XML, ein produktbezogenes GARAN-Label per Produktattribut. Beides geht mit Magento-Bordmitteln, auf Luma wie auf Hyvä.

Stand: 11. September 2026. Magento Open Source und Adobe Commerce bringen keine native Funktion für das Gewährleistungslabel oder das GARAN-Label mit. Mehrere Marketplace-Extensions decken das Thema ab. Diese Seite zeigt den Weg mit Bordmitteln, damit Sie entscheiden können, ob Sie überhaupt eine Extension brauchen. Sie ist eine Empfehlung auf Basis der aktuellen Marktlage, keine Rechtsberatung.

Zwei Aufgaben, zwei Mechanismen

Gewährleistungslabel: shopweit

Für alle Produkte identisch, aber je Sprache verschieden. In Magento-Begriffen: ein CMS-Block pro Store View, einmal in das Layout der Produktseite eingefügt.

Gewährleistungslabel in allen 24 EU-Sprachen herunterladen →

GARAN-Label: pro Produkt

Für jedes Modell verschieden (Marke, Modell, Garantiedauer), über alle Sprachen hinweg identisch. In Magento-Begriffen: ein Produktattribut mit globalem Scope, ausgegeben durch ein kleines Template auf der Produktdetailseite.

Welches der beiden brauchen Sie? →

Gewährleistungslabel: CMS-Block plus Layout-XML

  1. Legen Sie unter Content > Blocks einen Block mit dem Identifier legal-guarantee-notice an und laden Sie das Label-Bild in der Sprache dieses Store Views hoch.
  2. Legen Sie pro Sprache einen Block an, alle mit demselben Identifier, und weisen Sie jeden den passenden Store Views zu. Magento löst den Identifier pro Store View auf, das Layout braucht also nur eine Referenz.
  3. Fügen Sie den Block per Layout-Update in Ihrem Theme in die Produktseite ein:
<!-- app/design/frontend/Vendor/theme/Magento_Catalog/layout/catalog_product_view.xml -->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
  <body>
    <referenceContainer name="product.info.main">
      <block class="Magento\Cms\Block\Block" name="legal.guarantee.notice" after="product.info.overview">
        <arguments>
          <argument name="block_id" xsi:type="string">legal-guarantee-notice</argument>
        </arguments>
      </block>
    </referenceContainer>
  </body>
</page>

Kein Zugriff aufs Theme? Dasselbe Ergebnis geht ohne Code: Legen Sie unter Content > Widgets ein Widget vom Typ „CMS Static Block" an, wählen Sie das Layout-Update „Catalog Product View" und einen Container im Hauptinhaltsbereich. Den Inhalt des Blocks selbst kann auch der Page Builder bearbeiten, praktisch, wenn das Marketing statt der Entwicklung das Label pflegt.

GARAN-Label: das Produktattribut anlegen

Legen Sie unter Stores > Attributes > Product ein neues Attribut mit diesen Einstellungen an:

Attribute Code garan_label_url Kleinbuchstaben, keine Leerzeichen. Sie referenzieren ihn in Templates und Importdateien.
Catalog Input Type Text Field Enthält die URL des selbst gehosteten PNG. Warum kein Media Image, steht in den FAQ.
Scope Global Das Label ist sprachneutral: Marke, Modell und Dauer sind in jedem Store View gleich. Globaler Scope bedeutet ein Wert, eine Importzeile pro SKU.
Visible on Catalog Pages on Storefront No Sonst taucht die nackte URL im Tab „Mehr Informationen" auf. Das Bild geben Sie stattdessen selbst aus.
Attributset Alle Sets mit Produkten, die eine Garantie haben Ziehen Sie das Attribut unter Stores > Attributes > Attribute Set in eine Gruppe jedes relevanten Sets. Produkte in einem Set ohne das Attribut können keinen Wert speichern.

Die Scope-Entscheidung ist die, die für das 24-Sprachen-Setup zählt: Das Gewährleistungslabel unterscheidet sich pro Store View und liegt in CMS-Blöcken; das GARAN-Label ist global und liegt in einem Attribut. Das zu verwechseln ist später die häufigste Ursache für Importprobleme.

Das Label auf der Produktdetailseite ausgeben

Sie haben drei Möglichkeiten, von viel zu wenig Kontrolle:

  1. Template plus Layout-XML. Ergänzen Sie in Ihrem Theme ein kleines Template, das das Bild ausgibt, wenn das Attribut gesetzt ist, und referenzieren Sie es in catalog_product_view.xml neben dem Block für das Gewährleistungslabel. Funktioniert auf Luma und Hyvä; nur das Markup unterscheidet sich.
  2. Page Builder oder CMS-Block mit dynamischem Snippet. Geeignet für das Gewährleistungslabel; ungeeignet für das produktbezogene GARAN-Label, weil ein statischer Block ohne eigenen Code nicht das Attribut des aktuellen Produkts lesen kann.
  3. Widget. Dieselbe Einschränkung wie CMS-Blöcke bei produktbezogenen Daten. Gut für das Gewährleistungslabel, nicht für das GARAN-Label.
<?php /** @var \Magento\Catalog\Block\Product\View $block */
$labelUrl = $block->getProduct()->getData('garan_label_url'); ?>
<?php if ($labelUrl): ?>
  <div class="garan-label">
    <img src="<?= $block->escapeUrl($labelUrl) ?>"
         alt="<?= $block->escapeHtmlAttr(__('EU-Garantielabel (GARAN) für dieses Produkt')) ?>"
         loading="lazy" />
  </div>
<?php endif; ?>

Regeln für die Platzierung

  • Auf der Produktdetailseite, im Informationsbereich nahe Produktbild und Preis, nicht in der Bildergalerie.
  • Farbig und in lesbarer Größe. Nicht zum Icon verkleinern.
  • Sichtbar ohne Interaktion: nicht hinter einem Hover, nicht nur in einem Tab, nicht nur auf einer verlinkten Seite.
  • Die PNG-Variante verwenden. Warum PNG statt SVG →

Das Attribut per CSV-Import in Masse befüllen

Bei einem großen Sortiment befüllen Sie das Attribut nicht Produkt für Produkt. Erzeugen Sie die Labels in Serie, hosten Sie die PNG-Dateien auf Ihrem eigenen Server oder CDN und importieren Sie die URLs mit Magentos nativem Produktimport unter System > Data Transfer > Import:

  • Entity Type: Products. Import Behavior: Add/Update.
  • Die Datei braucht nur zwei Spalten: sku und garan_label_url. Alle anderen Produktdaten bleiben unberührt.
  • Das Attribut muss vor dem Import existieren. Eine Spalte für ein unbekanntes Attribut wird nicht übernommen.
sku,garan_label_url
GSR18V-55-BLUE,https://cdn.example.com/garan/bosch-gsr-18v-55.png
GSR18V-55-BLACK,https://cdn.example.com/garan/bosch-gsr-18v-55.png
DHP486Z,https://cdn.example.com/garan/makita-dhp486.png

Die Multi-Store-Scope-Falle: Haben Sie das Attribut mit Store-View-Scope angelegt, schreiben Zeilen ohne Spalte store_view_code nur in den Default-Scope, und einzelne Store Views behalten unter Umständen einen älteren Wert. Mit globalem Scope, wie oben empfohlen, ist die Spalte nicht nötig und das Problem entsteht nicht.

Der CSV-Lauf bei GARAN-Label liefert Ihnen Marke, Modell und Label-URL pro Zeile; das mit Ihrer SKU-Liste zu verknüpfen ist ein Nachschlagen in jedem Tabellenprogramm. Wie der Serienlauf funktioniert und was er kostet →

Cache: nach jeder Attributänderung aktualisieren

Der klassische Magento-Moment: Der Import meldet Erfolg, der Admin zeigt den neuen Wert, der Shop zeigt weiterhin nichts. Produktseiten kommen aus dem Full-Page-Cache, und ein Import invalidiert sie nicht zuverlässig.

  • Aktualisieren Sie unter System > Cache Management die als ungültig markierten Cache-Typen, oder
  • auf der Kommandozeile: bin/magento cache:clean full_page block_html, und
  • wenn Ihre Indexer auf „Update by Schedule" stehen, warten Sie auf den Cron-Lauf oder stoßen Sie bin/magento indexer:reindex für die Produkt-Indexer an.

Mit Varnish oder Fastly vor dem Shop gilt dasselbe für den Edge-Cache. Machen Sie die Cache-Aktualisierung zum festen Bestandteil Ihrer Importroutine, nicht zum Nachgedanken.

Aktuell halten: Cron plus API bei wechselnden Sortimenten

Kommen wöchentlich neue Produkte, wird der manuelle CSV-Rundlauf schnell lästig. Die automatisierte Variante hat drei Teile:

  1. Ein Cronjob wählt Produkte mit einer Garantiedauer über zwei Jahren und leerem garan_label_url aus.
  2. Für jedes davon ruft er die GARAN-Label-API mit Marke, Modell und Dauer auf und legt das zurückgelieferte PNG auf Ihrem eigenen Speicher ab.
  3. Er schreibt die URL über Magentos REST-API zurück (PUT /V1/products/{sku} mit dem Custom Attribute) oder direkt über ein Repository in einem kleinen Modul, und leert danach den Cache für dieses Produkt.

Anfragen für eine Kombination, zu der bereits ein Label existiert, liefern die vorhandene Datei ohne Credit-Verbrauch zurück, der Job kann also beliebig oft laufen. API-Referenz mit Beispielcode →

Multi-Store und Mehrsprachigkeit: welches Gewährleistungslabel pro Store View

Der Store View ist in Magento die natürliche Einheit für die Sprache des Gewährleistungslabels. Weisen Sie den CMS-Block mit dem deutschen Label den deutschen Store Views zu, den französischen den französischen, und so weiter. Bedient ein Store View ein Land in einer Sprache, in der das Label nicht vorliegt, verwenden Sie die EU-Amtssprache dieses Landes. Das GARAN-Label braucht keine solche Zuordnung: Ein Label pro Modell bedient jeden Store View.

Shops mit einer Website pro Land und mehreren Store Views pro Website sollten Blöcke auf Store-View-Ebene zuweisen, nicht auf Website-Ebene, damit eine belgische Website französische und niederländische Labels nebeneinander zeigen kann.

So erzeugen Sie die Labels

Erstellen Sie zunächst ein kostenloses Konto bei GARAN-Label.com. Dann entscheiden Sie, wie Sie die Labels erzeugen wollen:

Kleines Sortiment

Manueller Modus: Marke, Modell und Garantiedauer eingeben, PNG herunterladen, in Ihren Medienspeicher hochladen und die URL ins Attribut eintragen.

Großes Sortiment

CSV-Modus für den Bestand, API für neue Produkte. Beide liefern pro Label eine URL, die Sie selbst hosten und importieren.

Anleitung zur Massenerstellung →

Bereit, Ihr Magento-Sortiment zu kennzeichnen?

Kostenlos registrieren und den Sandbox-Modus ausprobieren, bevor Sie einen einzigen Credit ausgeben.

Kostenlos testen
FAQ

Häufige Fragen zu Magento 2

Brauche ich eine Magento-2-Extension für das GARAN-Label?

Nein. Ein CMS-Block plus ein Layout-XML-Update deckt das Gewährleistungslabel ab, ein Produktattribut plus ein kleines Template das GARAN-Label. Extensions gibt es und sie können Zeit sparen, aber nichts davon setzt eine voraus.

Funktioniert das mit dem Hyvä-Theme?

Ja. Attribut, CMS-Block und Layout-XML sind Theme-unabhängig. Nur die Template-Datei, die das Bild ausgibt, unterscheidet sich: In Hyvä legen Sie sie im Child-Theme ab und verwenden Tailwind-Klassen statt Luma-Markup.

Sollte das Attribut ein Media Image sein oder ein Textfeld mit URL?

Ein Textfeld mit der URL des selbst gehosteten Labels ist die pragmatische Wahl. Ein Media-Image-Attribut legt eine Bildrolle in der Produktgalerie an, also genau dort, wo das Label nicht erscheinen soll, und ist per CSV-Import schwerer zu befüllen.

Kann ich das Attribut einfach im Tab „Mehr Informationen" anzeigen?

Nicht als einzige Platzierung. Das Label muss auf der Produktdetailseite farbig sichtbar sein, und ein Tab, den der Kunde erst anklicken muss, ist eine Schwachstelle. Geben Sie es im Hauptbereich der Produktinformationen aus und halten Sie das Attribut aus der automatischen Attributliste heraus.

Ich habe neue Attributwerte importiert, aber der Shop zeigt noch den alten Stand. Warum?

Full-Page-Cache. Ein Import invalidiert gecachte Produktseiten nicht zuverlässig. Aktualisieren Sie die als ungültig markierten Cache-Typen unter System > Cache Management oder führen Sie bin/magento cache:clean full_page aus, und reindexieren Sie, wenn Ihre Indexer nach Zeitplan laufen.

Weitere Fragen? Alle FAQs ansehen →

5 % Rabatt mit dem Code im Checkout