Magento 1

FAQ

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

Probleme bei der Integration von Magento 1? Diese FAQ behandelt die häufigsten Probleme und deren Lösungen, von Währungsumrechnungen bis zu Synchronisationsfehlern.

Währungsumrechnung #

Ab Version v3.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 mit dem Formatter price_in_currency hinzugefügt.

Der Helper kann Ihrer Design wie folgt hinzugefügt werden:

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

Der Helper wandelt den Preis automatisch in die Währung der aktuellen Sitzung um und fügt das Währungssymbol hinzu.

Beispielausgabe:

Currency conversion example

Verwendung von Formatters #

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

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

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

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

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

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

Beispiel Formatter #

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);
    }
  }
});

Mehrere Formatters #

Sie können beliebig viele Formatters schreiben, getrennt durch Kommas:

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 #

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

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

Das ermöglicht Ihnen, beliebige Funktionalitäten in Ihren Designs zu erstellen, die Sie benötigen.

HTTP-Authentifizierung #

HTTP-Authentifizierung wird oft auf Staging-Seiten verwendet, um unerwünschte Besucher auszuschließen.

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

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

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

http://USER:PASS@magento.clerk.io/clerk/api/store/1
HTTP authentication in import URL

Häufige Synchronisationsfehler #

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

Beim Importieren von Daten mit der Magento 1 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 Importer daran hindern, Zugriff zu erhalten, was zu einem Fehler bei Data Sync führt.

Im Folgenden finden Sie eine Liste der häufigsten Fehler und deren Behebung.

401 Unauthorized #

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

Das Problem wird gelöst, indem der Benutzername und das Passwort als Teil der Import-URL eingegeben werden:

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

403 Forbidden #

Dieser Fehler tritt auf, wenn Ihr Server den Zugriff des Importers blockiert.

In den meisten Fällen müssen Sie einfach die IP-Adresse des Importers freigeben, um ihm den Zugriff zu ermöglichen.

Die aktuelle IP-Adresse finden Sie hier.

Überprüfen Sie außerdem, ob Ihr public key, private key und Ihre import URL für den Store korrekt sind, den Sie in my.clerk.io verwalten.

Was, wenn ich bereits freigegeben habe, aber der gleiche Fehler weiterhin auftritt?

Es gibt einige Fälle, in denen Sie die IP-Adresse des Importers freigegeben haben und der Fehler weiterhin auftritt.

In diesen Fällen empfehlen wir die Überprüfung folgender Punkte:

  • Der Authentifizierungsteil des Bodys könnte von der Anfrage vom Shop-Server entfernt werden.

  • Rate Limitierung des Servers in Bezug auf Cloudflare.

404 Not Found #

Dieser Fehler tritt auf, wenn der Importer nicht auf den Link zugreifen konnte, der Daten vom Webshop sendet.

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

  • überhaupt nicht installiert ist

  • ein Cache verhindert, dass der Link initialisiert wird

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

Löschen Sie danach den Cache Ihres Webshops, bevor Sie einen neuen Importversuch starten.

429 Too Many Requests #

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

Sie können dies beheben, indem Sie das request limit Ihres Servers erhöhen oder indem Sie die Page Size auf einen höheren Wert in my.clerk.io > Data > Configuration setzen, sodass der Importer weniger, aber größere Anfragen stellt:

Page size configuration

Wenn Sie den Hosting-Anbieter Byte.nl nutzen, gibt der Importer diesen Fehler normalerweise aufgrund des Rate Limiter zurück. In diesem Fall wenden Sie sich an Byte.nl und bitten Sie, den User-Agent des Importers “clerk” freizugeben.

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.

Überprüfen Sie in diesen Fällen Ihr Server Log, um herauszufinden, welcher Prozess abgestürzt ist und warum.

Meistens liegt es an einem Produkt mit einem ungültigen Attribut oder einer Funktion, die im Webshop falsch aufgerufen wird.

503 Service Unavailable #

Dieser Fehler ist in der Regel temporär und tritt auf, wenn der Server zu beschäftigt ist, um die Anfrage zu bearbeiten.

Versuchen Sie es später erneut.

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

Überprüfen Sie die Server-Auslastung, um festzustellen, ob dies der Fall ist.

Magento API Fehler #

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

Überprüfen Sie in diesen Fällen Ihr Server Log, um festzustellen, welcher Prozess abgestürzt ist und warum.

Oft liegt es an einem Produkt mit ungültigem Attribut oder daran, dass Ihr Speicherlimit überschritten wurde.

Powerstep wird nicht angezeigt #

Wenn der Add-To-Basket-Schritt nicht aktiviert ist, liegt das typischerweise an zwei Gründen:

  • Sie haben ein weiteres Add-To-Basket-Popup oder eine Funktion aktiviert, die Clerks Funktion blockiert.

  • Die falschen Element-IDs wurden in die Erweiterung eingefügt.

Weiteres Popup aktiviert #

Überprüfen Sie zunächst Ihre bestehende Magento-Installation, ob Sie bereits ein Popup oder Dropdown haben, das beim Hinzufügen eines Produkts zum Warenkorb angezeigt wird.

Diese können in der Regel den Add-To-Basket-Schritt von Clerk blockieren.

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

Falsche Element-IDs #

Wenn Sie kein anderes Add-To-Basket-Popup haben und Ihr Powerstep zwar aktiviert, aber nicht angezeigt wird, liegt dies wahrscheinlich daran, dass die falschen Template-IDs in die Clerk Erweiterungseinstellungen eingefügt wurden.

Dadurch kann der Powerstep nicht funktionieren.

So beheben Sie das Problem:

Melden Sie sich zunächst im Magento Admin an und gehen Sie zu System > Configuration > Clerk > Settings.

Clerk settings in Magento

Wählen Sie dann den richtigen Configuration Scope, der Ihrem Store entspricht.

Configuration scope selection

Überprüfen Sie unter Power step settings das Templates Feld.

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

Power step templates field

Um sicherzustellen, dass Ihre IDs korrekt sind, loggen Sie sich in my.clerk.io ein.

Wählen Sie den richtigen Store und gehen Sie zu Recommendations/Search > Elements.

Klicken Sie auf Edit Element bei einem Slider, der im Powerstep angezeigt werden soll.

Edit content in Clerk

Überprüfen Sie den letzten Tab “Insert into website” und suchen Sie den Embed-Code.

Die ID im data-template ist die ID, die Sie in die Magento Erweiterung kopieren müssen:

Element ID in embed code

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

Cache-Probleme #

Wenn Sie das Powerstep-Popup aktiviert haben und es trotzdem nicht angezeigt wird, wenn Sie ein Produkt in den Warenkorb legen, dann liegt das häufig an Cache.

  1. Gehen Sie zu System > Cache und löschen Sie alle internen und Drittanbieter-Caches.

  2. Falls dies nicht hilft, verwenden Sie vermutlich den Full Page Cache, welcher nur die Seiten betrifft, die ein Besucher bereits in seiner Sitzung gesehen hat. Das Deaktivieren hat nur minimale Auswirkungen auf die Seitengeschwindigkeit.

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

Full page cache settings

Nachdem Sie den Full Page Cache deaktiviert haben, sollte das Clerk Popup erscheinen.

Falls nicht, kontaktieren Sie bitte Clerk Support über das Live-Chat-Icon unten rechts. Wir helfen Ihnen gerne, eine Lösung für Ihr spezielles Setup zu finden.

Frontpage-Slider werden zwischengespeichert #

Normalerweise passiert dies nur, wenn Embed-Codes über Magentos CMS-Seiten im Backend eingefügt werden, da die Startseite zwischengespeichert wird:

CMS pages in Magento

Stattdessen sollten Ihre Embed-Codes direkt in die Frontpage-Dateien via FTP eingefügt werden:

Frontpage files via FTP

Magento cached die Ergebnisse auf diese Weise nicht.

Bilder werden nicht angezeigt #

Wenn Magentos Bilder-Cache manuell oder automatisch gelöscht wird, ändern sich alle Bildpfade.

Das bedeutet, dass die an Clerk gesendeten Bildpfade nicht mehr funktionieren.

So beheben Sie das Problem ganz einfach:

  1. Melden Sie sich bei my.clerk.io an.

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

  3. Gehen Sie zu Data.

  4. Klicken Sie rechts oben auf Start New Data Sync.

Start new data sync

Dies startet eine vollständige Neusynchronisation Ihrer Produkte, wodurch Clerk die korrekten Bildpfade erhält.

In Clerks Magento Erweiterung v2.1.0 wird dieses Problem behoben, indem nach dem Leeren des Bildcaches automatisch ein Sync gestartet wird.

Wenn Sie eine ältere Version der Erweiterung verwenden, empfehlen wir Ihnen dringend, auf die neueste Version zu wechseln.

Upgrade auf Clerk.js 2 #

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

Es macht die Installation von Clerk in jedem Webshop einfacher.

Da sich die beiden Versionen jedoch leicht unterscheiden, müssen Sie diese Schritte befolgen, um erfolgreich zu upgraden.

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

Designs erstellen #

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

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

Design Editor Option #

  1. Gehen Sie zu my.clerk.io > Recommendations/Search > Designs > New Design.
New design in Clerk
  1. Wählen Sie den Design-Typ.
Design type selection
  1. Im Design Editor klicken Sie auf eines der bestehenden Elemente wie Name, Bild, Button usw., um es zu bearbeiten oder neue Elemente hinzuzufügen, um weitere Informationen über Produkte anzuzeigen.

  2. Klicken Sie auf Publish, wenn Sie fertig sind, und gehen Sie zu Schritt 2 in der Anleitung.

Design Editor interface
  1. Gehen Sie zu Recommendations/Search > Elements und stellen Sie Ihr Clerk Element auf Ihr neues Design um.

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

Update content with new design

Sie sind nun bereit, zu Clerk.js 2 zu wechseln.

Erweiterung upgraden #

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

Sie können die neueste Erweiterung unter folgendem Link herunterladen:

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

Download latest Magento extension

Änderungen speichern #

Bevor Sie ein Upgrade versuchen, stellen Sie sicher, dass Sie entweder:

  • Die geänderten Dateien lokal auf Ihrem FTP gespeichert haben, oder
  • Ein Backup aller geänderten Dateien gemacht haben, das Sie auf die neue Erweiterung übertragen können.

Normalerweise sind das die Dateien, die die meisten Entwickler ändern: Product.php und Productbase.php, die die product attributes steuern.

Diese Dateien finden Sie hier:

app->code->community->Clerk->Clerk->Model->Catalog->Product.php

app->code->community->Clerk->Clerk->Model->Catalog->Productbase.php

Erweiterung deaktivieren #

Bevor Sie versuchen, ein Upgrade durchzuführen, ist es sehr wichtig, dies zu tun:

  1. Deaktivieren Sie die alte Erweiterung auf der Magento-Seite System > Configuration > Clerk > Settings. Setzen Sie einfach Enable auf No und klicken Sie auf Save Config.
Deactivate Clerk extension
  1. Deinstallieren Sie sie anschließend entweder über Magento Connect oder indem Sie die Dateien via FTP löschen, falls Sie sie direkt dort installiert haben.
Uninstall extension

Ansonsten könnte Ihre Configuration Seite unbrauchbar werden und keine Erweiterung mehr funktionieren.

Erweiterung installieren #

Installieren Sie zuletzt die aktuellste Erweiterung erneut und kopieren Sie alle gesicherten Dateien wieder auf Ihren FTP-Server.

Ihre Konfiguration sollte auch nach der neuen Installation erhalten bleiben.

Überprüfen Sie System > Configuration > Clerk, um sicherzustellen, dass alles noch vorhanden ist.

Sie haben nun die neueste Version von Clerk für Magento 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 #

Dies gilt nur, wenn Sie Version 3.7.2 oder niedriger der Magento 1 Clerk Erweiterung verwenden.

In manchen Setups verhindert Require.js, dass Clerk.js geladen wird, was dazu führt, dass keine Slider oder Suchergebnisse angezeigt werden.

Wenn dies passiert, erscheint folgender Fehler in Ihrer Konsole:

Uncaught ReferenceError: Clerk is not defined

Es gibt zwei Möglichkeiten, Require.js zu handhaben. Für beide Ansätze müssen Sie Änderungen am tracking-script in folgender Datei vornehmen:

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

In Require.js einbinden #

Die beste Methode ist es, zu versuchen, dass Require.js Clerk erkennt.

Das erreichen Sie, indem Sie require(['clerk'], function() {}); am Ende des Tracking-Skripts einfügen:

Include clerk in Require.js

Require.js ignorieren #

Sollte die obige Lösung nicht funktionieren, kann Require.js ignoriert werden.

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

Ignore Require.js

Nachdem Sie einen der Ansätze 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.