Prestashop

FAQ

Verwendung von Formatierern in Entwürfen #

Clerk.js können Sie benutzerdefinierte Javascript-Funktionen schreiben, die der Entwürfe neue Funktionen hinzufügen.

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

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

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

Module->Kleriker->Ansichten->Vorlagen->Hook->Kleriker->js.tpl

Ein Beispiel ist unten zu sehen. Bitte beachten Sie, dass es sich um Schreiber V2(neueste Version) handelt:

<!-- Start of Clerk.io E-commerce Personalisation tool - www.clerk.io -->
<script type="text/javascript">
  (function(w,d){
    var e=d.createElement('script');e.type='text/javascript';e.async=true;
    e.src='https://cdn.clerk.io/clerk.js';
    var s=d.getElementsByTagName('script')[0];s.parentNode.insertBefore(e,s);
    w.__clerk_q=w.__clerk_q||[];w.Clerk=w.Clerk||function(){ w.__clerk_q.push(arguments) };
  })(window,document);

  Clerk('config', {
        key: '{$clerk_public_key}',
        collect_email: {$clerk_datasync_collect_emails},
        language: '{$language}',
        formatters: {
             log_price: function(price) {
             console.log(price);
          }
      },
    });
</script>
<!-- End of Clerk.io E-commerce Personalisation tool - www.clerk.io -->

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

Nachdem Sie Ihre Formatierer erstellt haben, können Sie sie mit dieser Syntax in Ihrem Entwürfe verwenden:

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

Auf diese Weise können Sie jede gewünschte Funktionalität in Ihren Designs erstellen.

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 Nicht autorisiert Fehler im Sync-Log an.

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

https://USER:PASS@www.ewoksRus.com

Häufige Synchronisationsfehler #

> Anmerkung: Wir empfehlen Ihnen, das Plugin immer auf die neueste Version zu aktualisieren, um alle aktuellen Funktionen von Clerk zu nutzen.

Beim Importieren von Daten mit dem PrestaShop-Plugin von clerk.io ist der Webshop-Server für das Senden der Produkt- Kategorie- und Verkaufsdaten an Clerk.io.

In einigen Fällen kann die Konfiguration des Servers jedoch den Import verhindern, was zu einem Fehler in Daten-Synchronisation.

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 HTTP-Authentifizierung erfordert, um darauf zuzugreifen.

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

http://username:password@prestashop.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 unter Whitelist eingeben, um ihm den Zugriff zu ermöglichen.

Die neueste IP-Adresse ist kann hier gefunden werden.

Prüfen Sie auch, ob Ihre öffentlicher Schlüssel, privater Schlüssel und url importieren für den Shop, den Sie betreiben, korrekt sind.clerk.io

In einigen Fällen wird dieser Fehler auch angezeigt, wenn Sie verschiedene Sprachdomänen verwenden, wie http://webshop.com/it.. Geben Sie in diesem Fall die vollständige Domain an, die Sie synchronisieren möchten:

Was ist, wenn ich bereits eine Whitelist erstellt habe, aber der gleiche Fehler immer noch auftritt?

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

  • Der Authentifizierungsteil des Body wird möglicherweise aus der Anfrage vom Server des Shops entfernt.

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

  • Überprüfen Sie, ob die Url des Importeurs https enthält.

404 Server-Fehler: 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 werden kann

Stellen Sie zunächst sicher, dass Sie das Modul korrekt installiert haben.

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

429 Server-Fehler: 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 Anfrage-Limit für Ihren Server höher einstellen oder Größe der Seite im Importer clerk.io 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 in der Regel wegen der Ratenbegrenzung zurück. Wenden Sie sich in diesem Fall einfach an Byte.nl und bitten Sie sie, Whitelist den User-Agent des Importers " Angestellter".

500 Interner Serverfehler #

Diese Fehlermeldung bedeutet, dass Ihr Server auf ein interner Fehler Problem gestoßen ist und Sie nicht in der Lage waren, den Fehler zu spezifizieren.

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

Wenn Sie Facebook Pixel-Anwendung installiert haben, ist bekannt, dass dies einen 500-Fehler verursacht. Versuchen Sie, die App zu deaktivieren, und führen Sie eine neue Synchronisierung durch. Wenn es dann funktioniert, lassen Sie die App deaktiviert und kopieren Sie stattdessen das Facebook-Pixel manuell in Ihre Hauptthemen-Datei.

Sie können auch versuchen, Debug-Modus in Prestashop zu aktivieren, das genau die Fehlermeldung ausgibt, wenn Sie einen 500-Fehler erhalten.

IMMER Aktivieren Sie den Debug-Modus von FTP aus, um zu vermeiden, dass Sie möglicherweise von Prestashops Admin Panel ausgesperrt werden. Prüfen Sie, wie Sie es mit FTP machen.

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.

520: Webserver hat einen unbekannten Fehler zurückgegeben #

In der Regel wird dieser Fehler von CloudFlare zurückgegeben und tritt oft aufgrund von Engpässen in Prestashop auf, die Probleme mit höheren Seitengrößen verursachen.

Um das Problem zu beheben, setzen Sie einfach die Seitengröße auf 50 und führen Sie eine neue Synchronisierung durch:

Ungültige Antwort von Prestashop erhalten #

Dieser Fehler wird häufig bei der Verwendung des Facebook-Pixel-Moduls verursacht, das ein Pixel oben in alle Dateien in Prestashop einfügt.

Dies führt häufig dazu, dass die Datensynchronisierung fehlschlägt, weil das Pixel die Daten stört, die clerk.io von Prestashop erhalten soll.

Die Behebung dieses Problems ist recht einfach - Sie müssen lediglich eine kleine Anpassung an pspixel.php vornehmen, der Datei, die das Pixel erzeugt.

Häufig findet man diese Datei in eine unter den folgenden 4 Pfaden:

  • /modules/pspixel/pspixel.php
  • /modules/alcapixel/alcapixel.php
  • /modules/facebookpixel/facebookpixel.php
  • /modules/canonicalseo/canonicalseo.php /modules/canonicalseo/canonicalseo.php

In der Datei müssen Sie um Zeile 196, herum die folgende Codezeile innerhalb der öffentliche Funktion hookHeader($params) einfügen:

      if (strpos($_SERVER['REQUEST_URI'], '/module/clerk/') !== false) {

            return;

        }

Zur Unterstützung der neueren data-sync:

      if (Tools::getValue('module') == 'clerk') {

          return;

       }

Am Ende sollte die Datei wie folgt aussehen:

Dadurch wird das Zählpixel speziell aus den Links entfernt, die clerk.io zum Importieren von Daten aus Prestashop verwendet.

Deaktivieren von CCC #

CCC ( C oncatenate, C ombine und C ache) ist eine eingebaute PrestaShop-Funktionalität, die es Ihnen ermöglicht, die Anzahl der Anfragen Ihres Templates zu reduzieren und diese dann zu cachen.

Manchmal kann diese Funktionalität mit unserer Datensynchronisation interferieren Prozess und blockieren.

Wenn Sie Data Sync Fehler auftreten, öffnen Sie bitte Ihre PrestaShop Backend und besuchen Sie den Abschnitt namens

Erweiterte Parameter –> Leistung

und gehen Sie dann zu dem Abschnitt namens

CCC (Kombinieren, Komprimieren und Cachen)_

deaktivieren Sie alle Unterfunktionen, speichern Sie, leeren Sie den PrestaShop-Cache und genießen Sie!

P.S.: Sie können das gleiche Maß an Datenkompression erreichen - und so laden Seite Leistungen - mit einem CDN oder einem speziellen PrestaShop-Modul, das die gleiche Kompression und Kombination von Bibliotheken erzwingt.

Aktualisierung auf Clerk.js 2 #

Clerk.js 2 ist eine schnellere und 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 das Upgrade erfolgreich durchzuführen.

Die beiden Hauptunterschiede in Clerk.js 2 bestehen darin, dass die Designs in mein.clerk.io das Flüssig Schablonensprache verwenden, aber auch einfach mit dem Design Editor erstellt werden können.

Schritt 1: Konvertieren 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 Gehen Sie zunächst auf mein.clerk.io und dann auf Recommendations > Search > Designs > New Design

1.2 Geben Sie auf dem folgenden Bildschirm Ihrem Design eine Name (wir empfehlen, " V2" hinzuzufügen, damit klar ist, dass Sie Clerk.js2 verwenden).

1.3. Wählen Sie Design-Typ.

1.4. Wenn Sie fertig sind, klicken Sie auf Design erstellen.

1.5. Klicken Sie auf Entwurfs-Editor auf eines der vorhandenen Elemente wie den Namen, das Bild, die Schaltfläche usw., um es zu bearbeiten, oder ziehen Sie neue Elemente in das Design, um weitere Informationen über Produkte hinzuzufügen.

1.6. Klicken Sie auf “Entwurf speichern”, wenn Sie fertig sind, und gehen Sie zu Schritt 2 in der Anleitung.

1.7. Gehen Sie schließlich zu Empfehlungen / Suche -> Inhalt und ändern Sie den Inhalt von clerk.io, um Ihr neues Design zu verwenden.

1.8. Klicken Sie auf Inhalt aktualisieren.. Dies bewirkt, dass sie vorübergehend nicht in Ihrem Webshop angezeigt werden, bis Sie mit

Schritt 2. Wählen Sie das neue Design für alle Inhalte, die aktualisiert werden sollen.

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

Schritt 2: Upgrade Ihres Moduls #

WARNUNG: Denken Sie daran, Sicherungskopien aller geänderten Dateien zu erstellen, da diese überschrieben werden.

Laden Sie zunächst die neueste Version von diesem Link herunter:

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

Loggen Sie sich dann auf Ihrer Prestashop-Verwaltung ein und gehen Sie zu Module und Dienste -> Module und Dienste

Gehen Sie auf dieser Seite wie folgt vor:

2.1. Klicken Sie auf Neues Modul hinzufügen

2.2. Klicken Sie auf Wählen Sie eine Datei und laden Sie die soeben heruntergeladene Datei clerk.zip hoch.

2.3. Klicken Sie auf . Dieses Modul hochladen

PrestaShop wird nun eine Erfolgsmeldung angezeigt, die bestätigt, dass Ihr Modul nun aktualisiert wurde.

Jetzt haben Sie die neueste Version von clerk.io für PrestaShop 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 #

Diese Anleitung gilt nur für die Verwendung von bis zu v.4.4.1 der Erweiterung Prestashop Clerk.

In einigen Konfigurationen verhindert Erfordern.js das Laden von Clerk.js, was bedeutet, dass keine Schieberegler 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, mit Require.js. umzugehen. Bei beiden Ansätzen müssen Sie Änderungen an der Tracking-Skript in dieser Datei vornehmen:

modules->clerk->views->hook->visitor_tracking.tpl

###clerk" in Require.js einbinden

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

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 Folgendes einfügen window.__clerk_ignore_requirejs = true;

oben in das Tracking-Skript einfügen:

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

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