Magento 1

FAQ

Handhabung der Währungsumrechnung #

**Ab Version 3.0.3 der Magento 1-Erweiterung ist die Währungsumrechnung standardmäßig enthalten, wenn Sie die Standard-Umrechnungsfunktion von Magento 1 verwenden.

Sie wird in my.clerk.io -> Designs hinzugefügt, mit dem Formatierer price_in_currency.

Der Helper kann auf folgende Weise zu Ihrem Design hinzugefügt werden:

{%raw%}
<div class="clerk-product-price">
{{ product.price_final_excl_tax | price_in_currency }}
</div>{%endraw%}

Das Hilfsmittel konvertiert den Preis automatisch in die Währung der aktuellen Sitzung und fügt das Währungssymbol hinzu.

Beispiel für die Ausgabe:

Verwendung von Formatierern in Designs #

Clerk.js ermöglicht es Ihnen, eigene Javascript-Funktionen zu schreiben, die den Designs neue Funktionen hinzufügen.

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

  • Über my.clerk.io &gt; Einstellungen &gt; Formatters, wobei jeder Formatter als separater Eintrag erstellt werden kann.
  • Als Konfiguration für Clerk.js, in dem Tracking-Skript, das auf allen Seiten eingefügt wird, wo mehrere Formatierer auf einmal hinzugefügt werden können.

Für Magento 1 enthält diese Datei das Tracking-Skript:

app->design->frontend->base->default->template->clerk->tracking.phtml

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

    Clerk('config', {
      key: 'O7UITkJIXqXibeQF9ONobiGGKYYKtbvh',
      formatters: {
                form_key: function () {
                    return '<?php echo $this->getFormKey(); ?>';
                },
                price_in_currency: function(price) {
                    price =  Math.round(price * 100) / 100;
                    var price_converted = Math.round((price * <?php echo (float)$rates[$currentCurrencyCode]; ?>) * 100) / 100;
                    var retVal = <?php echo json_encode($currentCurrencySymbol); ?> + ' ' + price_converted.toFixed(2).toString();

                    return retVal;
                },
                log_price: function(price) {
                   console.log(price);
                }
            }
        });

Sie können eine beliebige Anzahl von Formatierern angeben, 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;
   }
}

Nachdem Sie Ihre Formatierer erstellt haben, können Sie sie mit dieser Syntax in Ihren Designs verwenden:

{%raw%}{{ x  formatter | attribute }} {{ x | formatter | attribute1 | attribute2 }}{%endraw%}

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

Synchronisierung mit HTTP-Authentifizierung #

Häufig wird die HTTP-Authentifizierung auf Staging-Sites verwendet, um ungebetene Besucher zu vermeiden.

Dies blockiert auch den Clerk Importer und zeigt einen 401 Unauthorized Fehler im Sync Log an.

Sie können den Importer leicht überprüfen, indem Sie die Authentifizierungsinformationen in die Import-URL einfügen, wie unten, in Data Sync unter my.clerk.io:

http//USER:PASS@magento.clerk.io/clerk/api/store/1:

Häufige Synchronisationsprobleme #

Hinweis: Wir empfehlen Ihnen, die Erweiterung immer auf die neueste Version zu aktualisieren, um alle aktuellen Funktionen von Clerk zu nutzen.
Beim Importieren von Daten mit der Magento 1 Erweiterung ist der Webshop-Server für das Senden der Produkt-, Kategorie- und Verkaufsdaten an Clerk.io. verantwortlich.

In einigen Fällen kann es jedoch vorkommen, dass die Serverkonfiguration dem Importer den Zugriff verwehrt, was zu einem Fehler in Data Sync. führt.

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

401 Server-Fehler: Nicht autorisiert #

Dieser Fehler tritt auf, wenn Ihr Webshop/Ihre Entwicklungsumgebung eine HTTP-Authentifizierung für den Zugriff erfordert.

Dies wird einfach durch Einfügen von Benutzername und Passwort als Teil der Import-URL gelöst:

http://username:password@magento.clerk.io/clerk/api/store/1

403 Server-Fehler: Forbidden #

Dieser Fehler tritt auf, wenn Ihr Server den Zugriff des Importeurs blockiert. In den meisten Fällen müssen Sie einfach die IP-Adresse des Importeurs auf eine Whitelist setzen, um ihm den Zugriff zu ermöglichen.

Die aktuelle IP-Adresse finden Sie hier.

Überprüfen Sie auch, ob Ihr öffentlicher Schlüssel, Ihr privater Schlüssel und Ihre Import-URL für den Shop, den Sie auf my.clerk.io betreiben, korrekt sind.

**Was ist, wenn ich mich bereits auf die Whitelist gesetzt habe und der gleiche Fehler immer noch auftritt?

Es gibt einige Fälle, in denen Sie die IP-Adresse des Importeurs bereits auf die Whitelist gesetzt haben, der Fehler aber immer noch auftritt:

  • Der Authentifizierungsteil des Body kann aus der Anfrage vom Server des Shops entfernt werden.

  • Ratenlimit für den Server in Bezug auf Cloudflares.

404 Serverfehler: Nicht gefunden #

Dieser Fehler tritt auf, wenn der Importeur nicht auf den Link zugreifen konnte, der uns Daten aus dem Webshop sendet. In den meisten Fällen geschieht dies, weil die Erweiterung entweder:

  • gar nicht installiert ist

  • Ein Cache führt dazu, dass der Link nicht initialisiert wird

Vergewissern Sie sich zunächst, dass Sie die Erweiterung korrekt installiert haben.

Zweitens sollten Sie den Cache Ihres Webshops leeren, bevor Sie einen neuen Import versuchen.

429 Serverfehler: Zu viele Requests #

Dieser Fehler tritt auf, wenn Ihr Server dem Importeur den Zugriff verweigert, weil zu viele Anfragen eingehen.

Sie können dies beheben, indem Sie das Request-Limit für Ihren Server höher setzen oder indem Sie Page Size im Clerk.io importer auf einen höheren Wert setzen, so dass der Importer weniger und größere Anfragen stellt:

Wenn Sie den Host-Provider Byte.nl verwenden, gibt der Importer diesen Fehler normalerweise aufgrund seines Ratenbegrenzers zurück. Wenden Sie sich in diesem Fall einfach an Byte.nl und bitten Sie sie, den User-Agent des Importeurs auf die Whitelist zu setzen.

500 Interner Serverfehler #

Dieser Fehler bedeutet, dass Ihr Server auf einen internen Fehler gestoßen ist und wir nicht in der Lage waren, den Fehler zu spezifizieren.

In diesen Fällen können Sie Ihr Server Log überprüfen, um festzustellen, welcher Prozess abgestürzt ist und warum. In den meisten Fällen liegt es einfach an einem Produkt mit einem ungültigen Attribut oder an einer Funktion, die im Webshop falsch aufgerufen wird.

503 Server Fehler: Dienst nicht verfügbar #

Dieser Fehler ist in der Regel vorübergehend und wird dadurch verursacht, dass der Server zu beschäftigt ist, um die Anfrage zu bearbeiten. Versuchen Sie es etwas später erneut.

Wenn das Problem weiterhin auftritt, könnte dies bedeuten, dass der Server mit Prozessen überlastet ist und sich nahe der maximalen Kapazität befindet.

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

Magento API: "" #

Dieser Fehler bedeutet auch, dass Ihr Server auf einen internen Fehler gestoßen ist und Sie nicht in der Lage waren, den Fehler oder den Fehlercode zu spezifizieren.

In diesen Fällen können Sie Ihr Server Log überprüfen, um festzustellen, welcher Prozess abgestürzt ist und warum. In den meisten Fällen handelt es sich um ein Produkt mit einem ungültigen Attribut, oder die Speichergrenze wurde überschritten.

Warenkorb hinzufügen-Schritt nicht angezeigt #

Wenn der Schritt “In den Warenkorb” nicht aktiviert ist, hat das in der Regel zwei Gründe:

  • Sie haben ein anderes Warenkorb-Popup oder eine andere Funktion aktiviert, die die Funktion von Clerk.io blockiert

  • Die falschen Inhalts-IDs werden in die Erweiterung eingefügt.

Ein anderes Add-to-Basket-Popup ist aktiviert

Überprüfen Sie zunächst Ihre bestehende Magento-Installation, um zu sehen, ob Sie bereits ein Popup oder Dropdown haben, das angezeigt wird, wenn Sie ein Produkt in den Warenkorb legen.

Diese können normalerweise verhindern, dass Clerk.io’s Add-to-Basket Schritt angezeigt wird.

Wenn dies der Fall ist, deaktivieren Sie es und versuchen Sie es erneut.

Falsche Inhalts-IDs werden in die Erweiterung eingefügt

Wenn Sie kein anderes Add-to-Basket-Popup haben und Ihr Powerstep aktiviert ist, aber nicht angezeigt wird, liegt das wahrscheinlich daran, dass in den Clerk.io-Erweiterungseinstellungen die falschen Template-IDs eingefügt wurden. Dies führt dazu, dass der Powerstep fehlschlägt.

Um dies zu beheben, loggen Sie sich in Ihren Magento-Admin ein und gehen Sie zu System->Konfiguration->Clerk->Einstellungen

Wählen Sie dann den richtigen Konfigurationsbereich, der zu Ihrem Shop passt.

Kreuzen Sie unter Einstellungen für Leistungsstufen das Feld Vorlagen an.

Dieses Feld sollte die korrekten IDs enthalten, die durch Kommas getrennt sind, wenn Sie mehr als eine verwenden.

Um sicherzustellen, dass Ihre IDs korrekt sind, melden Sie sich bei my.clerk.io. an.

Wählen Sie den richtigen Store und gehen Sie zu Empfehlungen/Suche -> Inhalt.

Klicken Sie auf Inhalt bearbeiten für einen Slider, den Sie im Powerstep anzeigen möchten.

Überprüfen Sie die letzte Registerkarte “In die Website einfügen” und suchen Sie den Einbettungscode.

Die in der Datenvorlage gefundene ID ist die ID, die Sie in die Magento-Erweiterung kopieren müssen:

Klicken Sie auf Save Config in der Magento-Erweiterung, und der Powerstep sollte danach funktionieren.

Wenn Sie das Powerstep-Popup aktiviert haben und es immer noch nicht angezeigt wird, wenn Sie ein Produkt in den Warenkorb legen, liegt das Problem oft am Cache.

1. Gehen Sie zunächst auf System => Cache und löschen Sie alle internen und fremden Caches.

2. Wenn das Problem dadurch nicht gelöst wird, verwenden Sie wahrscheinlich den Full Page Cache, der sich nur auf die Seiten auswirkt, die ein Besucher in seiner Sitzung bereits angesehen hat. Wenn Sie ihn deaktivieren, hat das nur minimale Auswirkungen auf die Seitengeschwindigkeit.

3. Der Screenshot unten zeigt genau, welchen Sie deaktivieren müssen:

Sobald Sie den Full Page Cache deaktiviert haben, sollte das Clerk-Popup erscheinen. Wenn dies nicht der Fall ist, kontaktieren Sie bitte den Clerk Support über das Live-Chat-Symbol in der unteren rechten Ecke, und wir können Ihnen helfen, eine Lösung für Ihre spezielle Einrichtung zu finden 😃.

Die Frontpage-Slider zeigen immer die gleichen Produkte an. #

Normalerweise passiert dies nur, wenn Embedcodes über Magentos CMS Pages im Backend eingefügt werden, da die Startseite im Cache gespeichert wird:

Stattdessen sollten die Embedcodes direkt in die Frontpage-Dateien eingefügt werden, per FTP:

Magento wird die Ergebnisse nicht zwischenspeichern, wenn sie auf diese Weise eingefügt werden.

Clerk zeigt keine Bilder an #

Wenn der Bild-Cache von Magento geleert wird, entweder manuell oder automatisch, ändern sich alle Bildpfade.

Dies bedeutet, dass die Bildpfade, die an Clerk.io gesendet werden, nicht mehr funktionieren.

Dies kann leicht behoben werden, indem Sie dies tun:

  1. Melden Sie sich bei [my.clerk.io] an (http://my.clerk.io)

  2. Klicken Sie auf den Store, in dem Bilder fehlen

  3. Gehen Sie zu Daten.

  4. Klicken Sie in der oberen rechten Ecke auf Neue Datensynchronisation starten.

Dadurch wird eine neue vollständige Synchronisierung Ihrer Produkte gestartet, was dazu führt, dass Clerk.io die richtigen Bildpfade erhält.

In der Magento-Erweiterung v2.1.0 von Clerk.io wird dieses Problem behoben, indem automatisch ein Sync gestartet wird, wenn der Bild-Cache geleert wird.

Wenn Sie eine ältere Version der Erweiterung verwenden, empfehlen wir dringend ein Upgrade auf die neueste Version.

Upgrade auf Clerk.js 2 #

Clerk.js 2 ist eine schnellere und viel flexiblere Version unserer JavaScript-Bibliothek, die die Installation von Clerk.io in jedem Webshop zu einem Kinderspiel macht.

Da die beiden Versionen jedoch leicht unterschiedlich funktionieren, müssen Sie diese Schritte befolgen, um ein erfolgreiches Upgrade durchzuführen.

Die beiden Hauptunterschiede in Clerk.js 2 sind, dass die Designs in my.clerk.io die Liquid Template-Sprache verwenden, aber sie können auch einfach mit dem Design-Editor erstellt werden.

Umwandlung von Designs #

Da Clerk.js 2 einen anderen Ansatz hat, müssen Sie neue Designs erstellen.

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

1.1 Beginnen Sie, indem Sie zu my.clerk.io -&gt; Empfehlungen / Suche -> Designs gehen und auf Neues Design: klicken.

1.2. Wählen Sie Ihren Designtyp.

1.3. Klicken Sie im Design-Editor auf eines der vorhandenen Elemente wie den Namen, das Bild, die Schaltfläche usw., um es zu bearbeiten, oder wählen Sie neue Elemente aus, die Sie dem Design hinzufügen möchten, um weitere Informationen über Produkte hinzuzufügen.

1.4. Klicken Sie auf Veröffentlichen, wenn Sie fertig sind, und gehen Sie zu Schritt 2 in der Anleitung.

1.5. Gehen Sie abschließend zu Empfehlungen / Suche -> Inhalt und ändern Sie Ihren Clerk.io Inhalt, um Ihr neues Design zu verwenden.

1.6. Klicken Sie auf Inhalt aktualisieren. Dadurch werden sie vorübergehend nicht in Ihrem Webshop angezeigt, bis Sie mit Schritt 2. fertig sind. Wählen Sie das neue Design für alle Inhalte, die aktualisiert werden sollen.

1.9. So! Sie sind nun bereit, auf Clerk.js 2 umzusteigen.

Upgrade Ihrer Erweiterung #

Wenn Sie bereits die neueste Version der Clerk.io Magento-Erweiterung haben, können Sie diesen Schritt überspringen.

Sie können die neueste Erweiterung von diesem Link herunterladen:

https://github.com/clerkio/clerk-magento/releases/latest

2.1. Speichern Sie alle Änderungen an den Erweiterungsdateien

Bevor Sie ein Upgrade durchführen, stellen Sie sicher, dass Sie entweder:

  • Speichern Sie die geänderten Dateien lokal auf Ihrem FTP-Server oder

  • eine Sicherungskopie aller geänderten Dateien erstellt haben, die Sie auf die neue Erweiterung übertragen können.

Normalerweise sind die Dateien, die die meisten Entwickler ändern, Product.php und Productbase.php, die Produktattribute steuern.

Diese Dateien finden Sie hier:

app->code->community->Clerk->Clerk->Modell->Katalog->Produkt.php

app->code->gemeinschaft->Clerk->Clerk->Modell->Katalog->Produktdatenbank.php

Deaktivieren und deinstallieren Sie die vorhandene Erweiterung

Es ist sehr wichtig, dass Sie dies tun, bevor Sie versuchen, ein Upgrade durchzuführen:

2.2.1. Deaktivieren Sie die alte Erweiterung auf der Seite System->Konfiguration->Clerk->Einstellungen von Magento. Setzen Sie einfach Enable auf No und klicken Sie auf Save Config.

2.2.2. Anschließend deinstallieren Sie es entweder über Magento Connect oder durch Löschen der Dateien.

vom FTP, wenn Sie es direkt hier installiert haben.

Andernfalls könnte Ihre Konfigurationsseite nicht mehr funktionieren, und keine der beiden Erweiterungen wird danach funktionieren.

2.3. Neueste Erweiterung installieren

Installieren Sie abschließend erneut die neueste Erweiterung und verschieben Sie alle Dateien, die Sie gesichert haben, auf Ihren FTP-Server.

Ihre Konfiguration sollte gespeichert werden, auch wenn Sie die neue Version installieren. Überprüfen Sie System->Konfiguration->Clerk, um sicherzustellen, dass alles noch vorhanden ist.

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

Die vollständige Dokumentation für Clerk.js 2 finden Sie hier:

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

Handhabung von require.js #

**Dies gilt nur, wenn die Magento 1 Clerk-Erweiterung in Version 3.7.2 oder niedriger verwendet wird.

In einigen Konfigurationen stoppt Require.js das Laden von Clerk.js, was bedeutet, dass keine Slider oder Suchergebnisse angezeigt werden.

Wenn dies geschieht, wird der folgende Fehler in Ihrer Konsole angezeigt:

Uncaught ReferenceError: Clerk is not defined

Es gibt zwei Möglichkeiten, Require.js. zu handhaben. Beide Ansätze erfordern, dass Sie Änderungen am Tracking-Skript in dieser Datei vornehmen:

app->design->frontend->base->default->template->clerk->tracking.phtml

“clerk” in Require.js einbinden #

Der beste Ansatz ist der Versuch, Require.js dazu zu bringen, Clerk.io. zu erkennen.

Sie können dies tun, indem Sie require([‘clerk’], function() {}); unten in das Tracking-Skript einfügen:

Require.js ignorieren #

Wenn die obige Lösung nicht funktioniert, ist es möglich, Require.js zu ignorieren.

Sie können dies tun, indem Sie window.__clerk_ignore_requirejs = true; einfügen.

oben in das Tracking-Skript einfügen:

Nach Anwendung einer dieser Methoden ist Require.js nun mit Clerk.io kompatibel.