Produktpositionen — Vollständige Anleitung
Das Modul für Produktpositionen installieren, konfigurieren und nutzen: Drag & Drop, Auto-Sortierung nach mehreren Kriterien, Fixierung der Positionen und Schutz vor ERP-Importen für PrestaShop 8 und 9.
Überblick
Das Modul Produktpositionen bietet eine moderne Drag-&-Drop-Oberfläche, um Produkte in Ihren PrestaShop-Kategorien neu anzuordnen, ergänzt durch leistungsfähige Werkzeuge zur Auto-Sortierung und ein Fixierungssystem, das die gewählten Positionen vor automatisierten Änderungen schützt (ERP-Importe, CSV-Dateien, Skripte von Drittanbietern).
Das Modul ist mit PrestaShop 8 und 9 kompatibel, im Einzel- wie im Multi-Shop-Betrieb, und vollständig mehrsprachig (FR, EN, ES, DE, IT). Es schreibt direkt in die Standardspalte position von PrestaShop: die im Backoffice festgelegte Reihenfolge erscheint identisch im Frontend, ohne zusätzliche Konfiguration und ohne Theme-Integration.
Kompatibilität und Voraussetzungen
- PrestaShop 8.0 bis 9.x — ein einziges Paket deckt beide Branches ab, ohne besondere Konfiguration.
- PHP 8.0 bis 8.4.
- Einzel-Shop und Multi-Shop.
- Keine Composer-Abhängigkeit, kein externer Dienst, kein Drittanbieter-JavaScript: jQuery und jQuery UI werden von PrestaShop nativ mitgeliefert.
- PrestaShop 1.7 wird nicht unterstützt: die Admin-API und das Hook-System unterscheiden sich zu stark, um zuverlässiges Verhalten zu garantieren.
Die PrestaShop-9-Kompatibilität ist ab Modulversion 1.2.0 verfügbar. Wenn Sie einen PrestaShop-8-Shop auf PrestaShop 9 migrieren, installieren Sie die neueste Modulversion vor oder nach dem Upgrade: Ihre Positionen und Ihre Fixierungen bleiben erhalten, da die Fixierungstabelle durch das Update nicht verändert wird.
Installation
- Öffnen Sie im Backoffice Module > Modul-Manager.
- Klicken Sie auf Modul hochladen und legen Sie das ZIP-Archiv ab.
- Nach Abschluss der Installation erscheint der Eintrag Katalog > Produktpositionen im Menü.
Bei der Installation legt das Modul eine eigene Tabelle für das Fixierungssystem an und registriert die Hooks, die für die automatische Wiederherstellung gesperrter Positionen nötig sind.
Für ein Update laden Sie einfach das neue Archiv über das alte: die Migrationsskripte laufen automatisch, Ihre Fixierungen und Positionen bleiben erhalten.
Oberfläche
Der Verwaltungsbildschirm besteht aus drei Hauptbereichen:
- Kategoriebaum links: vollständige Navigation durch die Hierarchie, Sofortsuche, Produktzähler und Fixierungszähler für jede Kategorie.
- Werkzeugleiste oben rechts: Suche innerhalb der aktuellen Kategorie, Menü Sperrung (orange) und Menü Auto-Sortierung (violett).
- Produktliste in der Mitte: jedes Produkt verfügt über einen Drag-&-Drop-Griff, eine per Klick editierbare Positionsnummer und vier Schnellaktionen — fixieren, an den Anfang, ans Ende, Produktseite bearbeiten.
Shop- und Sprachselektoren am oberen Bildschirmrand erlauben den Kontextwechsel, ohne die Seite zu verlassen.
Produkte manuell neu anordnen
Drag & Drop
Greifen Sie den Griff links neben einem Produkt und ziehen Sie es an die gewünschte Stelle. Die Positionen werden beim Loslassen automatisch gespeichert.
Direkte Bearbeitung der Nummer
Klicken Sie auf die Positionsnummer eines Produkts, um sie per Tastatur zu ändern. Bestätigen Sie mit Enter; drücken Sie Escape zum Abbrechen. Das Modul verschiebt die übrigen Produkte automatisch, um die neue Position einzufügen.
Die Schaltflächen „An den Anfang“ und „Ans Ende“
Zwei Schnellschaltflächen senden ein Produkt mit einem Klick an die erste oder letzte Position der Kategorie.
Auto-Sortierung
Das Menü Auto-Sortierung wendet eine Sortierung auf alle Produkte der Kategorie nach dem gewählten Kriterium an. Verfügbare Kriterien sind:
- Nach Name: A bis Z oder Z bis A, basierend auf dem Namen in der aktuellen Sprache.
- Nach Preis: aufsteigend oder absteigend.
- Nach Lagerbestand: höchster Bestand zuerst oder niedrigster zuerst, mit alphabetischer Reihenfolge als Gleichstandsregel.
- Nach Verkäufen (letzte 90 Tage): Bestseller oder Ladenhüter zuerst, berechnet aus den gültigen Bestellungen des aktuellen Shops.
- Neueste / älteste: nach dem Erstelldatum des Produkts.
- Referenz A bis Z: alphabetische Sortierung nach interner Referenz.
- Aktuelle Reihenfolge umkehren: dreht die gesamte Liste um.
- Zufällige Mischung: bei jedem Durchlauf eine zufällige Reihenfolge.
Die Option Auch auf Unterkategorien anwenden überträgt die Sortierung in einem einzigen Vorgang auf alle untergeordneten Kategorien.
Fixierte Produkte behalten während einer Sortierung ihre Position: nur nicht fixierte Produkte werden neu angeordnet (siehe nächster Abschnitt).
Fixierung der Positionen
Die Fixierung friert die Position eines Produkts ein, damit sie sich weder bei einer Auto-Sortierung noch nach einer externen Änderung (ERP-Import, Produktaktualisierung im Backoffice, Skript) verändert. Es handelt sich um eine optionale Schutzschicht: ohne Fixierung bleibt Ihre manuelle Reihenfolge gültig, solange Sie keine Auto-Sortierung starten und kein externes System die Positionen anfasst.
Ein einzelnes Produkt fixieren
In jeder Produktzeile schaltet das Fixier-Symbol den Zustand fixiert / nicht fixiert des Produkts innerhalb der aktuellen Kategorie um. Ein fixiertes Produkt erhält einen orangefarbenen Rand und ein kleines Fixier-Abzeichen auf seiner Positionsnummer. Der Zähler der Fixierungen in der Statusleiste und im Kategoriebaum aktualisiert sich automatisch.
Sie können ein fixiertes Produkt weiterhin manuell verschieben (Drag & Drop, direkte Bearbeitung, Schnellschaltflächen): die gesperrte Position folgt dann der Bewegung. Blockiert werden nur die Auto-Sortierung und externe Änderungen.
Die gesamte Kategorie sperren
Das Menü Sperrung > Gesamte Kategorie sperren fixiert auf einen Schlag sämtliche Produkte der aktuellen Kategorie an ihrer gegenwärtigen Position. Das ist die empfohlene Option für Kataloge, die von einem ERP befüllt werden, das die Kategorien regelmäßig neu synchronisiert: sobald die Kategorie gesperrt ist, kann kein externer Import die Reihenfolge mehr ändern.
Alles entsperren
Die Option Alles entsperren entfernt alle Fixierungen der aktuellen Kategorie in einer einzigen Aktion. Die aktuellen Positionen bleiben erhalten; nur der Schutz wird aufgehoben.
Fixierte Positionen wiederherstellen
Die Option Fixierte Positionen wiederherstellen spielt den Wiederherstellungsalgorithmus manuell auf der aktuellen Kategorie ab. Nützlich nach einem großen Import, um visuell zu prüfen, dass alle gesperrten Positionen wieder an ihrem Platz sind — auch wenn der Hook der automatischen Wiederherstellung bereits bei jeder Produktaktualisierung ausgelöst wird.
Anwendungsfälle
Die ersten N Produkte manuell setzen, den Rest von A bis Z sortieren
Ein häufiges Szenario: die ersten 5 oder 10 Produkte einer Kategorie manuell platzieren (Aktionsware, Bestseller, Neuheiten) und anschließend alles Übrige alphabetisch sortieren.
- Wählen Sie die Kategorie im Baum aus.
- Ordnen Sie Ihre ersten N Produkte in der gewünschten Reihenfolge an (Drag & Drop oder direkte Bearbeitung).
- Klicken Sie bei jedem dieser N Produkte auf das Fixier-Symbol.
- Öffnen Sie Auto-Sortierung > Nach Name > A bis Z.
Die N fixierten Produkte bleiben an ihren Positionen; die übrigen Produkte werden ab Position N+1 alphabetisch sortiert. Derselbe Mechanismus funktioniert mit allen Sortierkriterien.
Eine Kategorie vor einem ERP-Import schützen
Ein häufiges Szenario: Ihr ERP oder ein externes Skript synchronisiert regelmäßig die Produkt-/Kategorie-Verknüpfungen neu, wodurch die Positionen zurückgesetzt werden.
- Ordnen Sie die Kategorie in der gewünschten Reihenfolge an.
- Öffnen Sie Sperrung > Gesamte Kategorie sperren.
- Bestätigen Sie: alle Produkte werden an ihrer aktuellen Position fixiert.
Ab diesem Moment löst jede Aktualisierung eines gesperrten Produkts, die über PrestaShop läuft — Produktseite im Backoffice, Webservice, nativer CSV-Import, Drittanbieter-Modul, das das Product-Objekt verwendet — automatisch die Wiederherstellung seiner ursprünglichen Position aus.
Ein Skript, das direkt in die Datenbank schreibt, ohne das Product-Objekt zu verwenden, löst keinen PrestaShop-Hook aus: die automatische Wiederherstellung kann in diesem Fall nicht erfolgen. Führen Sie dann nach dem Import Sperrung > Fixierte Positionen wiederherstellen aus, oder rufen Sie diese Wiederherstellung am Ende Ihres Synchronisationsskripts auf.
Multi-Shop
Das Modul ist vollständig mit der Multi-Shop-Funktion von PrestaShop kompatibel. Der Shop-Selektor oben in der Oberfläche wechselt den Kontext. Positionen und Fixierungen sind je Paar (Kategorie, Shop) unabhängig: ein Produkt in Shop A zu fixieren, sperrt es nicht in Shop B.
Mehrsprachigkeit
Die Backoffice-Oberfläche ist ins Französische, Englische, Spanische, Deutsche und Italienische übersetzt. Der Sprachselektor oben am Bildschirm ändert die Sprache des Baums und der angezeigten Produktnamen; die Positionen sind für alle Sprachen eines Shops gemeinsam (natives PrestaShop-Verhalten).
Performance
Das Modul verwendet optimierte SQL-Abfragen mit Verknüpfungen über bestehende Indizes (category_product, product_shop, stock_available). Das Speichern der Positionen ist auf der JavaScript-Seite entprellt, um aufeinanderfolgende Anfragen bei schnellem Umsortieren zu vermeiden. Die Fixierungstabelle besitzt einen zusammengesetzten Primärschlüssel und zwei Sekundärindizes für sehr schnelle Wiederherstellungen, selbst bei Kategorien mit mehreren hundert Produkten. Die Wiederherstellung ist zudem gegen Reentranz geschützt, was jede Schleife bei Massenaktualisierungen verhindert.
Deinstallation
Die Deinstallation des Moduls löscht die Fixierungstabelle und den zugehörigen Menüeintrag. Die Positionen in category_product bleiben unverändert: Ihre aktuelle Reihenfolge bleibt erhalten. Aufgehoben wird nur der Schutz (Fixierung und automatische Wiederherstellung).
FAQ
Muss jedes Produkt fixiert werden, damit die manuelle Reihenfolge erhalten bleibt?
Nein. Die per Drag & Drop oder direkter Bearbeitung festgelegte Reihenfolge wird in der Standardspalte position von PrestaShop gespeichert und bleibt dort, solange keine Auto-Sortierung und kein externer Import sie ändert. Die Fixierung ist eine optionale Schutzschicht, die nur dann nützlich ist, wenn Sie manuelle Positionen mit Auto-Sortierung kombinieren möchten oder wenn Ihr ERP während der Importe die Produkt-/Kategorie-Verknüpfungen anfasst.
Wird die im Backoffice festgelegte Reihenfolge im Frontend abgebildet?
Ja, ohne zusätzliche Konfiguration. Das Modul schreibt in die native Spalte category_product.position, die PrestaShop bereits zur Sortierung der Produktlisten im Frontend verwendet. Es sind weder eine Theme-Integration noch zusätzliche Hooks erforderlich.
Mein ERP synchronisiert die Kategorien bei jedem Import neu: was ist zu tun?
Öffnen Sie das Menü Sperrung > Gesamte Kategorie sperren. Damit werden alle Produkte auf einen Schlag an ihrer aktuellen Position fixiert. Der Hook der automatischen Wiederherstellung setzt die Positionen anschließend jedes Mal zurück, wenn das ERP ein gesperrtes Produkt über das Product-Objekt ändert. Schreibt Ihr ERP direkt per SQL, ergänzen Sie am Ende des Imports einen Aufruf von Fixierte Positionen wiederherstellen.
Lässt sich ein fixiertes Produkt verschieben?
Ja. Die Fixierung schützt vor automatisierten Änderungen (Auto-Sortierung, externe Importe). Wenn Sie ein fixiertes Produkt manuell verschieben (Drag & Drop, Bearbeitung der Position, Schaltfläche an den Anfang oder ans Ende), wird die gesperrte Position aktualisiert und folgt der Bewegung.
Funktioniert die Auto-Sortierung mit Unterkategorien?
Ja. Setzen Sie im Sortiermenü das Häkchen bei Auch auf Unterkategorien anwenden, um das Kriterium in einem einzigen Vorgang auf alle Unterkategorien der aktuellen Kategorie zu übertragen.
Ist das Modul mit PrestaShop 9 kompatibel?
Ja, seit Version 1.2.0. Dasselbe Paket deckt PrestaShop 8.0 bis 9.x ab, im Einzel- wie im Multi-Shop-Betrieb, ohne Composer-Abhängigkeit und ohne externes JavaScript (jQuery und jQuery UI werden von PrestaShop nativ mitgeliefert).
Ersetzt das Modul den nativen Bildschirm für Kategoriepositionen?
Nein, es ergänzt ihn. Der native PrestaShop-Bildschirm bleibt verfügbar; das Modul liefert eine modernere Oberfläche mit Fixierung und Mehrkriterien-Sortierung als Zugabe.
Die Produktliste lädt nicht, oder die Suche verhält sich merkwürdig.
Leeren Sie den PrestaShop-Cache (Erweiterte Einstellungen > Leistung) und laden Sie die Seite mit einem erzwungenen Browser-Refresh neu. Das Modul hängt eine Versionsnummer an seine CSS- und JS-Dateien an, ein aggressiver Browser-Cache oder Proxy kann nach einem Update dennoch eine alte Kopie behalten.