Magento 2

FAQ

Lösungen für häufige Fragen und Probleme bei der Verwendung von Clerk mit Magento 2

Haben Sie Probleme mit Ihrer Magento 2-Integration? Diese FAQ behandelt die häufigsten Probleme und deren Lösungen, von Bildgrößen bis hin zu Synchronisierungsfehlern.

Bildgrößen #

Standardmäßig verwendet die Erweiterung die Originalbildgrößen, die in Magento 2 festgelegt sind.

Diese können bei Bedarf geändert werden.

Melden Sie sich zunächst in Ihrem Magento 2-Backend an und gehen Sie zu:

Stores > Configuration > Clerk > Configuration

Unter Synchronization > Image type können Sie exakt auswählen, in welcher Auflösung die Bilder gesendet werden sollen:

Magento 2 image type configuration

Anschließend klicken Sie auf Save Config.

Jetzt müssen Sie einfach nur noch eine neue Synchronisierung in my.clerk.io ausführen und Ihre neuen Bildgrößen werden importiert.

Verwendung von Formatters #

Clerk.js ermöglicht es Ihnen, eigene JavaScript-Funktionen zu schreiben, die Ihren Designs neue Funktionalitäten hinzufügen.

Formatter können auf zwei Arten hinzugefügt werden:

  • Über my.clerk.io > Developers > Formatters, wo jeder Formatter als separater Eintrag erstellt werden kann.

  • Als Konfiguration für Clerk.js im tracking-script, das auf allen Seiten eingefügt wird, wobei mehrere Formatter gleichzeitig hinzugefügt werden können.

Für Magento 2 enthält diese Datei das tracking-script:

vendor->view->frontend->templates->tracking.phtml

Beispiel-Formatter #

Ein Beispiel ist unten zu sehen. Beachten Sie, dass dies für Clerk V2 (neueste Version) ist:

    Clerk('config', {
      key: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
      formatters: {
             log_price: function(price) {
             console.log(price);
    }
          }
      });

Mehrere Formatter #

Sie können beliebig viele Formatter schreiben, getrennt durch ein Komma:

formatters: {
   log_price: function(price) {
      console.log(price);
   },
  calculate_discount: function(price, special_price) {
    return price - special_price;
   },
   substring: function(text) {
    var short_string = text.substring(0, 20);
      return short_string;
   }
}

Verwendung in Designs #

Nach dem Erstellen Ihrer Formatter können Sie diese in Ihren Designs mit folgender Syntax verwenden:

{% raw %}{{ price | log_price }} {{ price | calculate_discount | special_price }}{% endraw %}

So können Sie jede beliebige Funktionalität in Ihren Designs erstellen, die Sie benötigen.

HTTP-Authentifizierung #

HTTP-Authentifizierung wird oft auf Staging-Seiten verwendet, um unerwünschte Besucher zu vermeiden.

Dies blockiert den Clerk-Importer und zeigt einen 401 Unauthorized-Fehler im Synchronisierungslog an.

Sie können dies beheben, indem Sie die Authentifizierungsdaten in die Import-URL einfügen.

In my.clerk.io > Data > Configuration, aktualisieren Sie Ihre Import-URL wie folgt:

http://USER:PASS@magento2.clerk.io/
HTTP authentication in import URL

Häufige Synchronisierungsfehler #

Hinweis: Wir empfehlen, die Erweiterung immer auf die neueste Version zu aktualisieren, um alle aktuellen Funktionen von Clerk zu erhalten.

Beim Importieren von Daten mit Clerks Magento 2-Erweiterung ist der Server Ihres Webshops dafür verantwortlich, Produkt-, Kategorie- und Verkaufsdaten an Clerk zu senden.

In manchen Fällen kann jedoch die Serverkonfiguration den Import daran hindern, auf die Daten zuzugreifen, wodurch ein Fehler bei der Data Sync auftritt.

Nachfolgend finden Sie eine Liste der häufigsten Fehler und wie Sie diese beheben können.

401 Unauthorized #

Dieser Fehler tritt auf, wenn Ihr Webshop oder Ihre Entwicklungsumgebung HTTP-Authentifizierung zum Zugriff benötigt.

Dies wird gelöst, indem Sie Benutzername und Passwort als Teil der Import-URL einfügen:

http://username:password@magento2.clerk.io

403 Forbidden #

Dieser Fehler tritt häufig aus einem der folgenden Gründe auf:

  • Ihr Server blockiert den Zugriff des Importers. In den meisten Fällen müssen Sie einfach die IP-Adresse des Importers auf die Whitelist setzen, damit dieser Zugriff erhält. Die aktuelle IP-Adresse finden Sie hier.

  • Sie haben möglicherweise einen falschen public key, private key und/oder eine falsche Import-URL im Store in my.clerk.io eingetragen.

  • Sie verwenden Storeviews mit versteckten URLs wie mywebshop.com?__store=b2b. Diese URLs können mitunter auch drei Unterstriche beinhalten: mywebshop.com?___store=b2b.

In letzterem Fall fügen Sie einfach den __store-Parameter zur URL in Data hinzu:

Store parameter in URL

Was tun, wenn ich bereits eine Whitelist habe, aber der Fehler weiterhin besteht?

Manchmal bleibt der Fehler auch bestehen, wenn Sie die IP-Adresse des Importers bereits auf die Whitelist gesetzt haben.

In diesen Fällen empfehlen wir, Folgendes zu prüfen:

  • Der Authentifizierungsteil im Body könnte vom Server Ihres Shops aus der Anfrage entfernt worden sein.

  • Rate Limit des Servers in Bezug auf Cloudflare.

404 Not Found #

Dieser Fehler tritt auf, wenn der Importer den Link, der die Daten aus dem Webshop sendet, nicht erreichen kann.

In den meisten Fällen passiert dies, weil die Erweiterung entweder:

  • gar nicht installiert ist

  • ein Cache dafür sorgt, dass der Link nicht initialisiert wird

Stellen Sie zunächst sicher, dass Sie die Erweiterung korrekt installiert haben.

Leeren Sie danach den Cache Ihres Webshops, bevor Sie einen neuen Import versuchen.

429 Too Many Requests #

Dieser Fehler tritt auf, wenn Ihr Server den Importer aufgrund zu vieler eingehender Anfragen blockiert.

Sie können dies beheben, indem Sie das request limit für Ihren Server erhöhen oder den Page Size-Wert in my.clerk.io > Data > Configuration erhöhen. So stellt der Importer weniger, aber größere Anfragen:

Page size configuration

Wenn Sie den Hosting-Anbieter hypernode.com/nl nutzen, tritt dieser Fehler für den Importer häufig aufgrund des dortigen Rate Limiters auf. In diesem Fall wenden Sie sich an hypernode.com/nl und bitten Sie darum, dass der User-Agent des Importers “clerk” auf die Whitelist gesetzt wird.

500 Internal Server Error #

Dieser Fehler bedeutet, dass Ihr Server auf einen internen Fehler gestoßen ist und nicht angeben konnte, welcher Fehler aufgetreten ist.

In diesen Fällen sollten Sie Serverprotokolle prüfen, um herauszufinden, welcher Prozess abgestürzt ist und warum.

Meist hat dies eine Produkt mit ungültigem Attribut oder einen falsch aufgerufenen Funktionsaufruf im Webshop zur Ursache.

503 Service Unavailable #

Dieser Fehler ist meistens vorübergehend und wird dadurch verursacht, dass der Server zu beschäftigt ist, um die Anfrage zu bearbeiten.

Probieren Sie es später noch einmal.

Falls das Problem weiterhin besteht, kann es bedeuten, dass der Server mit Prozessen überlastet ist und kurz vor der maximalen Auslastung steht.

Prüfen Sie die Serverauslastung, um festzustellen, ob dies der Fall ist.

Invalid response #

Dieser Fehler tritt in der Regel auf, wenn Ihr Webshop ein Umleitungssystem verwendet, um Kunden auf andere Domains zu schicken.

Zum Beispiel kann “ https://mywebshop.com” auf “ https://mywebshop.com/it" weiterleiten.

In diesem Fall müssen Sie beim Import in my.clerk.io einfach die vollständige URL verwenden:

Full URL configuration

MSI-Lagerimport #

Wenn Ihr Magento 2-Store MSI (Multi-Source Inventory) verwendet, können Sie den gesamten Lagerbestand aller Quellen in Clerk importieren, indem Sie den folgenden Attributcode zu den Additional Fields der Erweiterung hinzufügen.

  1. Gehen Sie in Ihrem Magento-Admin zu Stores > Configuration > Clerk > Configuration.

  2. Unter Synchronization > Additional Fields fügen Sie hinzu: multi_source_stock.

  3. Klicken Sie auf Save Config und führen Sie dann eine neue Synchronisierung in my.clerk.io > Data durch.

Clerk importiert multi_source_stock als Summe der Mengen über alle MSI-Quellen hinweg.

Das ist praktisch, wenn die Standard-Lagerquelle 0 beträgt, Produkte aber dennoch in anderen Quellen vorrätig sind.

Upgrade auf Clerk.js 2 #

Clerk.js 2 ist eine schnellere und flexiblere Version unserer JavaScript-Bibliothek.

Sie erleichtert die Installation von Clerk in jedem Webshop.

Da die beiden Versionen jedoch leicht unterschiedlich funktionieren, müssen Sie folgende Schritte befolgen, um erfolgreich zu upgraden.

Die zwei wesentlichen Unterschiede in Clerk.js 2 sind, dass die Designs in my.clerk.io die Liquid-Templating-Sprache verwenden, die Designs aber auch einfach mit dem Design Editor erstellt werden können.

Designs erstellen #

Da Clerk.js 2 einen anderen Ansatz für Designs hat, müssen neue erstellt werden.

Ihre Clerk.js 2 Designs können Sie auf zwei Arten erstellen:

Design-Editor-Option #

  1. Gehen Sie zu my.clerk.io > Recommendations/Search > Designs > New Design.
New design in Clerk
  1. Geben Sie auf dem folgenden Bildschirm Ihrem Design einen Namen (wir empfehlen, “V2” hinzuzufügen, damit klar ist, dass Sie Clerk.js 2 verwenden).

  2. Wählen Sie den Design-Typ.

Design type selection
  1. Klicken Sie im Design Editor auf eines der vorhandenen Elemente wie Name, Bild, Button usw., um es zu bearbeiten, oder fügen Sie dem Design neue Elemente hinzu, um weitere Produktinformationen hinzuzufügen.
Design Editor interface
  1. Klicken Sie auf Publish, wenn Sie fertig sind, und gehen Sie zu Schritt 2 in der Anleitung.

  2. Gehen Sie zu Recommendations/Search > Elements und ändern Sie Ihren Clerk Content, um Ihr neues Design zu verwenden.

  3. Klicken Sie auf Update Content. Dies bewirkt, dass sie vorübergehend nicht in Ihrem Webshop angezeigt werden, bis Sie mit Schritt 2 fertig sind. Wählen Sie das neue Design für alle zu aktualisierenden Content-Elemente aus.

Update content with new design

Jetzt sind Sie bereit, auf Clerk.js 2 umzusteigen.

Erweiterung upgraden #

WARNUNG: Denken Sie daran, Backups aller modifizierten Dateien zu erstellen, da diese überschrieben werden.

Das Upgrade der Magento 2-Erweiterung erfolgt über die Kommandozeile.

Folgen Sie dabei diesen Schritten:

  1. Loggen Sie sich per Kommandozeile auf Ihrem Server ein.

  2. Navigieren Sie in Ihren Webroot-Ordner (oft _/var/www/your_domain/public_html_).

  3. Aktivieren Sie Root Access, indem Sie su eingeben und Ihr Passwort eintippen.

  4. Geben Sie folgende Befehle der Reihe nach ein:

composer update clerk/magento2
php bin/magento setup:upgrade
php bin/magento setup:di:compile
  1. Warten Sie, bis die Erweiterung fertig ist.

Ihr Magento 2 ist nun auf die neueste Version aktualisiert.

Jetzt haben Sie die neueste Version von Clerk für Magento 2 installiert und Clerk.js 2 läuft in Ihrem Webshop!

Die vollständige Dokumentation zu Clerk.js 2 finden Sie hier:

https://docs.clerk.io/docs/clerkjs-quick-start

Umgang mit require.js #

Diese Anleitung gilt nur bis Version 2.8.3 der Magento 2 Clerk-Erweiterung.

In manchen Setups verhindert Require.js das Laden von Clerk.js, sodass keine Slider oder Suchergebnisse angezeigt werden.

Wenn dies passiert, erscheint folgender Fehler in Ihrer Konsole:

Uncaught ReferenceError: Clerk is not defined

Die Magento 2-Erweiterung behandelt Require.js bereits, aber in einigen Fällen muss Require.js dazu gebracht werden, Clerk.js zu ignorieren.

Dies können Sie in folgender Datei tun:

vendor->clerk->magento2->templates->tracking.phtml

Fügen Sie einfach window.__clerk_ignore_requirejs = true; am Anfang des Tracking-Skripts ein:

Ignore Require.js in tracking script

Nachdem Sie diesen Ansatz verwendet haben, ist Require.js nun mit Clerk kompatibel.

Diese Seite wurde von einer hilfreichen KI übersetzt, daher kann es zu Sprachfehlern kommen. Vielen Dank für Ihr Verständnis.