PS PrestaShop Anfänger

DF Recently Viewed — Zuletzt angesehene Produkte (PrestaShop 8/9)

Den Block für zuletzt angesehene Produkte installieren und konfigurieren: geräteübergreifender Verlauf, Preissenkungs-Badges, cache-sicheres Rendering, Analytics und DSGVO.

Aktualisiert Modulversion 1.0.1

Übersicht

DF Recently Viewed (dfrecentlyviewed) zeigt die zuletzt von Ihren Besuchern angesehenen Produkte – mit einer auf Konversion ausgerichteten Architektur: Der Verlauf wird serverseitig gespeichert, beim Login in das Kundenkonto überführt, per AJAX gerendert und bleibt damit hinter einem Seiten-Cache korrekt, ergänzt um Preissenkungs-Badges. Ein Analytics-Dashboard rundet das Ganze mit einer Konversionsrate von Ansicht zu Kauf ab.

Voraussetzungen

  • PrestaShop 8.0 bis 9.x
  • PHP 7.4 bis 8.3
  • Keine externen Abhängigkeiten (weder Composer noch jQuery noch Karussell-Bibliothek)

Installation

  1. Öffnen Sie im Backoffice Module > Modul-Manager.
  2. Klicken Sie auf Modul hochladen und legen Sie die Datei dfrecentlyviewed.zip ab.
  3. Klicken Sie auf Installieren. Das Modul legt seine Tabelle an, registriert seine Hooks und fügt den Reiter Katalog > Statistik zuletzt angesehen hinzu.
  4. Klicken Sie auf Konfigurieren, um zu den Einstellungen zu gelangen.

Das Modul funktioniert sofort nach der Installation mit sinnvollen Standardwerten: 8 Produkte, Karussell, AJAX-Rendering, aktivierte Preissenkungs-Badges, 90 Tage Aufbewahrung.

Konfiguration

Reiter Anzeige

  • Blocktitel — in jeder Ihrer Sprachen übersetzbar.
  • Anzahl der Produkte — 1 bis 24 im Block angezeigte Produkte.
  • Karussell-Layout — aktiviert: horizontales Karussell mit Navigationspfeilen. Deaktiviert: responsives Raster.
  • Auf Produktseiten anzeigen — Hook displayFooterProduct.
  • Auf der Startseite anzeigen — Hook displayHome.
  • Auf der Warenkorbseite anzeigen — Hook displayShoppingCartFooter.
  • Link «Verlauf löschen» anzeigen — für DSGVO-Transparenz empfohlen.

Reiter Intelligentes Verhalten

  • Aktuell angezeigtes Produkt ausschließen — vermeidet die Empfehlung der bereits sichtbaren Seite.
  • Ausverkaufte Produkte ausblenden — der Filter berücksichtigt erlaubte Vorbestellungen.
  • Produkte im Warenkorb ausblenden — der Warenkorb wird serverseitig neu berechnet, niemals aus der gecachten Seite.
  • Preissenkungs-Badges — zeigt ein «-X %»-Badge an, wenn der Preis seit der letzten Ansicht des Besuchers gefallen ist.
  • AJAX-Rendering (cache-sicher) — dringend empfohlen, siehe den eigenen Abschnitt unten.
  • Aufbewahrung des Verlaufs (Tage) — 1 bis 730 Tage. Ältere Ansichten werden automatisch bereinigt.

Kompatibilität mit Full Page Cache

In einem Shop mit Varnish, Cloudflare, LiteSpeed Cache oder einem CDN wird ein serverseitig gerenderter, personalisierter Block zusammen mit der Seite gecacht: Der nächste Besucher sieht den Verlauf einer anderen Person oder einen leeren Block.

Der standardmäßig aktivierte Modus AJAX-Rendering löst das Problem: Der Block wird nach dem Rendern der Seite über eine Anfrage an den Front-Controller des Moduls eingefügt. Das Tracking der Produktansicht wird als nicht blockierender Beacon gesendet, der auch dann funktioniert, wenn die Seite aus dem Cache stammt.

Deaktivieren Sie den AJAX-Modus nur, wenn Ihr Shop überhaupt keinen Seiten-Cache verwendet. Andernfalls zeigt der Block falsche Daten an.

Preissenkungs-Badges

Bei jeder Ansicht einer Produktseite speichert das Modul den zu diesem Zeitpunkt angezeigten Bruttopreis für genau diesen Besucher. Beim Anzeigen des Blocks vergleicht es diesen gemerkten Preis mit dem aktuellen:

  • Ist der Preis um mindestens 1 % gefallen, erscheint oben links auf der Miniaturansicht ein rotes Badge «↓ -X %».
  • Der gemerkte Preis wird bei jeder neuen Ansicht aktualisiert: Das Badge bedeutet daher immer «Der Preis ist seit Ihrem letzten Besuch dieser Seite gefallen».
  • Steigt der Preis wieder, verschwindet das Badge.

Geräteübergreifender Verlauf

Ansichten werden bei anonymen Besuchern mit der Gast-Kennung (id_guest) und bei angemeldeten Besuchern mit der Kunden-Kennung (id_customer) erfasst.

Beim Login (Hook actionAuthentication) wird der Gast-Verlauf in das Kundenkonto überführt: Die Ansichtszähler werden addiert und das jüngste Ansichtsdatum bleibt erhalten. So findet der Kunde seine angesehenen Produkte auf allen Geräten wieder.

Seite «Mein Browserverlauf»

Das Modul fügt im Kundenkonto eine Kachel hinzu (Hook displayCustomerAccount), die zu einer eigenen Seite mit bis zu 48 angesehenen Produkten führt – inklusive Löschen-Schaltfläche, wenn die Option aktiviert ist.

URL der Seite: /module/dfrecentlyviewed/history (gemäß Ihrer URL-Konfiguration umgeschrieben).

Widget

Der Block kann aus jedem Template Ihres Themes aufgerufen werden:

{widget name='dfrecentlyviewed'}
{widget name='dfrecentlyviewed' limit=6}

Der Parameter limit ist optional und auf 24 begrenzt; ohne ihn gilt die im Backoffice konfigurierte Anzahl.

Analytics-Dashboard

Gehen Sie zu Katalog > Statistik zuletzt angesehen. Über einen Zeitraum von 7, 30, 90 oder 365 Tagen finden Sie dort:

  • Produktansichten — Gesamtzahl der erfassten Ansichten.
  • Unterschiedliche angesehene Produkte — die tatsächliche Breite der Katalogentdeckung.
  • Eindeutige Besucher — Gäste und Kunden zusammen.
  • Konversion Ansicht zu Kauf — Anteil der angesehenen Kunde/Produkt-Paare, die zu einer gültigen Bestellung nach der Ansicht geführt haben. Nur für angemeldete Kunden berechnet.
  • Meistangesehene Produkte — Ranking mit Direktlink zur Produktseite im Backoffice.

DSGVO und Aufbewahrung

psgdpr-Hooks

Das Modul implementiert actionExportGDPRData und actionDeleteGDPRCustomer: Ist das offizielle Modul psgdpr installiert, wird der Browserverlauf in die von Ihren Kunden angeforderten Exporte und Löschungen personenbezogener Daten einbezogen.

Selbstbedienungs-Löschung

Ist die Option aktiviert, erscheint neben dem Blocktitel und auf der Verlaufsseite ein Link «Verlauf löschen». Besucher können ihre Daten nach Bestätigung selbst löschen.

Automatische Bereinigung

Ansichten, die älter als die konfigurierte Aufbewahrungsdauer sind, werden opportunistisch automatisch bereinigt (bei etwa 1 % der erfassten Ansichten). Es ist keine Konfiguration erforderlich.

Optionaler CRON

Für Shops mit hohem Traffic wird auf der Konfigurationsseite eine token-geschützte Bereinigungs-URL angezeigt. Sie können sie täglich aufrufen:

0 4 * * * curl -s "https://ihr-shop.de/module/dfrecentlyviewed/tracking?action=cleanup&token=IHR_TOKEN"

Theme-Integration

Die Produkte werden über die native Miniaturansicht Ihres Themes gerendert (catalog/_partials/miniatures/product.tpl). Der Block übernimmt damit automatisch das Design Ihrer Listings: Bild, Name, Preis, Aktions-Badges, Schnell-Hinzufügen-Button, sofern Ihr Theme einen anbietet.

Möchten Sie den Container anpassen, überschreiben Sie die Modul-Templates aus Ihrem Theme heraus:

themes/ihr-theme/modules/dfrecentlyviewed/views/templates/hook/recentlyviewed.tpl
themes/ihr-theme/modules/dfrecentlyviewed/views/templates/hook/_products.tpl

Multishop

Die Verläufe sind pro Shop getrennt: Wer ein Produkt in Shop A ansieht, sieht es nicht in Shop B auftauchen. Alle Einstellungen werden über die Configuration-Tabelle von PrestaShop mit nativer Multishop-Unterstützung gespeichert.

Deinstallation

Die Deinstallation entfernt die Verlaufstabelle, sämtliche Einstellungen und den Statistik-Reiter. Vor dem Vorgang wird eine Bestätigung verlangt.

Fehlerbehebung

Der Block erscheint nicht

  • Prüfen Sie, ob der zur Seite passende Hook in der Konfiguration aktiviert ist (Produktseite, Startseite, Warenkorb).
  • Der Block erscheint nur, wenn der Besucher mindestens ein infrage kommendes Produkt angesehen hat. Ein Erstbesucher sieht nichts.
  • Sind sowohl der Ausschluss des aktuellen Produkts als auch der Warenkorb-Ausschluss aktiv, bleibt möglicherweise kein Produkt zur Anzeige übrig.

Der Block bleibt auf einer gecachten Seite leer

Stellen Sie sicher, dass der Modus AJAX-Rendering aktiviert ist. Prüfen Sie außerdem, ob Ihre Cache-Konfiguration Anfragen an /module/dfrecentlyviewed/tracking nicht abfängt.

Preissenkungs-Badges erscheinen nie

Das Badge kann nur erscheinen, wenn der Besucher das Produkt vor der Preissenkung angesehen hat. Geben Sie den Besuchern nach einer Preisänderung Zeit zurückzukehren. Prüfen Sie außerdem, ob die Option aktiviert ist.

War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren