PS PrestaShop Mittel

Grundpreis und Verkauf nach Gewicht: Dokumentation DataFirefly Unit Price

Installation, Einstellungen, Füllmengen, Verkauf nach Wunschmenge, Stücke nach tatsächlichem Gewicht und Wiegen, Massenbearbeitung, CSV und Fehlerbehebung.

Aktualisiert Modulversion 1.2.0

Installation

Installieren Sie das Modul über Module > Modulmanager > Modul hochladen mit der ZIP-Datei, oder legen Sie den Ordner dfunitprice in das Verzeichnis /modules/ des Shops und klicken Sie auf Installieren.

Bei der Installation legt das Modul drei Tabellen an (Füllmengen, Verkaufsmodi, Wiegungen von Bestellungen) und registriert seine Hooks. Es fügt keinen Menüpunkt hinzu: Alles wird auf der Konfigurationsseite des Moduls, im Reiter Module der Produktseite und auf der Bestellseite eingestellt.

Moduleinstellungen

Die Konfigurationsseite enthält von oben nach unten die Massenbearbeitung, die Einstellungen, die Liste der zu wiegenden Stücke, die Werkzeuge und den Konformitätsbericht.

Grundpreis für Gewichte und Volumen

Wählen Sie die Standardangabe: je 1 kg oder je 100 g, je 1 Liter oder je 100 ml. Längen werden immer je Meter angegeben, Flächen je m², Schüttgut je m³. Jedes Produkt kann diese Wahl überschreiben.

Länder mit Pflicht zu 1 kg und 1 Liter

ISO-Codes durch Kommas getrennt, standardmäßig DE. Für Besucher aus diesen Ländern wird der Grundpreis immer je 1 kg, 1 l, 1 m, 1 m² oder 1 m³ angegeben, wie es die PAngV seit 2022 verlangt, auch wenn Sie anderswo 100 g gewählt haben. Behalten Sie DE in der Liste, wenn Sie nach Deutschland verkaufen.

Anzeige und Positionen

  • Auf der Produktseite anzeigen und Position auf der Produktseite: Der Grundpreis läuft über den nativen Hook displayProductPriceBlock. Die Position after_price (unter dem Preis) passt zu Classic und abgeleiteten Themes und erfüllt die Anforderung der unmittelbaren Nähe zum Gesamtpreis. Ändern Sie sie nur, wenn Ihr Theme diese Position nicht aufruft.
  • In Produktlisten anzeigen und Position in Produktlisten: Kategorien, Suche, Marken, Karussells. Standardposition unit_price.
  • Im Warenkorb anzeigen: unter dem Preis jeder Position.
  • Format: „12,90 € / kg“ oder in Klammern.
  • Text vor dem Grundpreis: optional und übersetzbar, zum Beispiel „Grundpreis“.

Ausblenden, wenn gleich dem Verkaufspreis

Eine 1-kg-Packung wiederholt denselben Betrag. Nach PAngV entfällt die Angabe in diesem Fall. Prüfen Sie für andere Länder die dortige Regel, bevor Sie die Option aktivieren.

Nativen Grundpreis des Themes ausblenden

Verhindert eine doppelte Anzeige auf der Produktseite, wenn das Theme auch das native Feld zeigt.

In die nativen PrestaShop-Felder schreiben

Das Modul aktualisiert den nativen Grundpreis, seine Einheitenangabe (zum Beispiel „/ kg“) und den Aufschlag je Variante. Feed-Module für Google Shopping oder Marktplätze, die diese Felder auslesen, erhalten so den richtigen Wert.

Mindesterstattung für Stücke nach tatsächlichem Gewicht

Liegt die Differenz einer Bestellung (brutto) unter diesem Betrag, wird keine Gutschrift erstellt. Lassen Sie 0, um jede Differenz zu erstatten.

Kategorien mit Grundpreispflicht

Wird nur vom Konformitätsbericht genutzt, der aktive Produkte dieser Kategorien ohne Füllmenge auflistet.

Füllmenge eines Produkts eingeben

Öffnen Sie die Produktseite, Reiter Module, Block Grundpreis und Verkaufsmodus. Der Block speichert mit seiner eigenen Schaltfläche Grundpreis speichern, unabhängig vom Produktformular.

  • Füllmenge und Einheit: 750 g, 1,5 l, 2,5 m, 12 m² oder ein Stück. Leer lassen, um keinen Grundpreis anzuzeigen.
  • Grundpreis angegeben je: bei Gewichten und Volumen ersetzt es die Moduleinstellung für dieses Produkt.

Unter den Feldern zeigt eine grüne Zeile während der Eingabe den Grundpreis mit dem aktuellen Preis. Nach dem Speichern zeigt eine Vorschau den Bruttopreis ohne Rabatt, die Füllmenge und den Grundpreis.

Varianten

Füllen Sie nur Varianten aus, deren Füllmenge vom Produkt abweicht, zum Beispiel 250 g, 500 g und 1 kg. Eine Variante ohne Wert übernimmt die des Produkts. Die Einheit „Wie beim Produkt“ übernimmt die Produkteinheit. Varianten, die nach dem Öffnen der Seite angelegt wurden, erscheinen nach dem Neuladen.

Die Berechnung

Der Grundpreis ist der dem Kunden angezeigte Preis geteilt durch die Füllmenge, umgerechnet auf die gewählte Bezugsgröße. Er folgt der Brutto- oder Nettoanzeige der Kundengruppe, Sonderpreisen und Rabatten. Im Warenkorb nutzt er den Preis der Position.

Verkauf nach Wunschmenge

Wählen Sie den Modus Kunde wählt die Menge. Die Füllmenge wird zur Größe eines Schritts, und der Produktpreis gilt für einen Schritt. Beispiel: Schrittweite 100 g zu 2,50 €, ein Kunde wählt 700 g und legt 7 Schritte für 17,50 € in den Warenkorb.

  • Minimum und Maximum in der Basiseinheit (g, ml, cm, m², m³): Jeder Wert muss ein Vielfaches der Schrittweite sein. Das Maximum ist optional.
  • Mengenvorgaben: Werte durch Semikolons getrennt, zum Beispiel 250; 500; 1000, jeweils ein Vielfaches der Schrittweite und zwischen Minimum und Maximum.
  • Freie Menge erlauben: zeigt die +/- Auswahl mit direkter Eingabe. Ohne Mengenvorgaben wird die freie Eingabe immer angezeigt.

Auf der Produktseite ersetzt diese Auswahl das Mengenfeld des Themes, mit Grenzen und Gesamtpreis in Echtzeit. Sie funktioniert auch in der Schnellansicht der Produktlisten und behält die gewählte Menge, wenn der Kunde die Variante wechselt.

Was das Modul für Sie übernimmt

  • Die native Mindestmenge des Produkts und seiner Varianten wird in Schritten synchronisiert.
  • Das Maximum wird serverseitig durchgesetzt: Eine höhere Menge im Warenkorb wird auf das Maximum gesenkt.
  • Die Bestellposition lautet „Kaffee (700 g)“ im Backoffice, auf der Rechnung und in der Bestätigungsmail.

Der Bestand wird weiter in Schritten gezählt, da PrestaShop keine Dezimalmengen kennt. Bei einer Schrittweite von 100 g tragen Sie 50 für 5 kg Bestand ein. Der Block auf der Produktseite zeigt diese Umrechnung an.

Stück nach tatsächlichem Gewicht

Wählen Sie den Modus Stück nach tatsächlichem Gewicht für Produkte, deren genaues Gewicht erst bei der Vorbereitung feststeht: Fleisch, Käse vom Stück, Fisch.

  • Durchschnittsgewicht eines Stücks: Das ist die Füllmenge, zum Beispiel 1,2 kg. Der Produktpreis gilt für ein Stück dieses Gewichts.
  • Leichtestes Stück und Schwerstes Stück: optional, dem Kunden als Spanne angezeigt. Die Spanne muss das Durchschnittsgewicht enthalten.

Auf der Produktseite erklärt eine Box „Nach tatsächlichem Gewicht verkauft“ die Regel: Ein leichteres Stück wird um die Differenz erstattet, ein schwereres kostet nichts extra. Die Bestellposition lautet „Rinderkotelett (etwa 1,2 kg)“ oder „(2 × etwa 1,2 kg)“.

Eine Bestellung wiegen

Auf der Bestellseite listet das Panel Tatsächliche Gewichte jede betroffene Position mit geschätztem Gewicht und bezahltem Betrag.

  1. Geben Sie das tatsächliche Gesamtgewicht jeder Position ein, alle Stücke zusammen, in kg (in l für ein Volumen, in m für eine Länge).
  2. Die Erstattung jeder Position und die Summe werden während der Eingabe berechnet. Ein Gewicht, das mehr als 50 % von der Schätzung abweicht, löst einen Hinweis aus, oft ein Einheitenfehler (1200 statt 1,2).
  3. Wählen Sie E-Mail an den Kunden und Gutschein, klicken Sie auf Gewichte bestätigen und bestätigen Sie.

Die Erstattung einer leichteren Position ist anteilig: bezahlter Betrag × (1 − tatsächliches Gewicht / geschätztes Gewicht). Eine schwerere Position ergibt keine Erstattung und wird nie nachberechnet.

Was erstellt wird

  • Eine PrestaShop-Gutschrift über die Gesamtdifferenz, sichtbar in den Dokumenten der Bestellung. Das PDF listet die Positionen und eine Tabelle „Ausgleich auf das tatsächliche Gewicht“.
  • Ein Gutschein über denselben Betrag, wenn das Feld angekreuzt ist, nur für diesen Kunden und ein Jahr gültig.
  • Eine E-Mail an den Kunden in seiner Sprache mit geschätzten und tatsächlichen Gewichten und dem erstatteten Betrag.

Die Rechnung der Bestellung enthält einen Hinweis zum Verkauf nach geschätztem Gewicht und zum Ausgleich per Gutschrift. Der Kunde sieht die tatsächlichen Gewichte auch in den Bestelldetails seines Kontos.

Die Gutschrift erfasst die Erstattung, überweist das Geld aber nicht. Wenn Sie keinen Gutschein geben, erstatten Sie den Betrag über Ihren Zahlungsanbieter. Eine bestätigte Wiegung ist endgültig. Die Gutschrift übernimmt die Menge der Position, damit das native PDF den richtigen Betrag zeigt: PrestaShop betrachtet diese Stücke deshalb als bereits erstattet, und eine spätere Erstattung dieser Positionen erfolgt als Betrag über Ihren Zahlungsanbieter.

Zu wiegende Bestellungen

Die Konfigurationsseite listet Bestellungen mit noch zu wiegenden Stücken, älteste zuerst, mit direktem Link zu jeder Bestellung. Stornierte, fehlerhafte oder erstattete Bestellungen erscheinen nicht.

Massenbearbeitung

Oben auf der Konfigurationsseite zeigt die Massenbearbeitung Ihre Produkte in Seiten zu 50, filterbar nach Kategorie, nach Name, Artikelnummer oder ID und standardmäßig auf Produkte ohne Füllmenge beschränkt.

  • In Name oder Artikelnummer angegebene Mengen werden erkannt und vorausgefüllt, mit dem Vermerk „Erkannt“. Packungen werden multipliziert („6 x 33 cl“ ergibt 198 cl), Maße wie „40×60 cm“ ignoriert.
  • Das Ändern eines Werts markiert die Zeile. Der Grundpreis wird in Echtzeit berechnet.
  • Erkannte Mengen auswählen markiert alle vorausgefüllten Zeilen der Seite auf einmal.
  • Auch Varianten mit einer Menge im Namen ausfüllen: Eine Variante „Gewicht – 500 g“ erhält 500 g, ohne einen bereits eingegebenen Wert zu überschreiben.

Das Leeren der Füllmenge einer markierten Zeile entfernt die Füllmenge des Produkts. Produkte im Verkauf nach Gewicht oder nach tatsächlichem Gewicht sind in der Tabelle schreibgeschützt: Bearbeiten Sie sie auf ihrer Produktseite.

CSV-Import und -Export

Der Block CSV-Export erzeugt eine Zeile pro Produkt und pro Variante, für den ganzen Katalog oder eine Kategorie. Spalten: id_product, id_product_attribute, reference, name, net_quantity, unit, reference_unit.

Der Import akzeptiert ; oder , als Trennzeichen. Die Spalten net_quantity und unit sind Pflicht, dazu id_product oder reference (Artikelnummer des Produkts oder der Variante). Einheiten: g, kg, ml, cl, l, mm, cm, m, m2, m3, unit. reference_unit akzeptiert 1kg, 100g, 1l oder 100ml. Ein leeres net_quantity entfernt die Zeile. Fehler werden mit Zeilennummer aufgelistet und blockieren die anderen Zeilen nicht.

Werkzeuge und Konformitätsbericht

Jetzt neu synchronisieren berechnet die nativen Felder und die Mindestmengen aller eingerichteten Produkte neu. Nutzen Sie es nach einem Massenimport von Preisen oder wenn Mitarbeiter ohne Zugriff auf das Modul Produkte bearbeiten: PrestaShop führt die Hooks eines Moduls nicht für Profile aus, die es nicht sehen dürfen.

Der Konformitätsbericht zeigt die Zahl der eingerichteten Produkte und listet bis zu 300 aktive Produkte ohne Füllmenge in den Pflichtkategorien, mit Link zur Produktseite.

Fehlerbehebung

Der Grundpreis erscheint nicht auf der Produktseite

Prüfen Sie, ob das Produkt eine Füllmenge hat und die Anzeige auf der Produktseite aktiviert ist. Ruft das Theme die Position after_price nicht auf, wählen Sie price oder weight in den Einstellungen.

Der Grundpreis erscheint doppelt

Aktivieren Sie Nativen Grundpreis des Themes ausblenden. Bleibt die Dopplung, nutzt Ihr Theme eine andere CSS-Klasse für diesen Block: Kontaktieren Sie uns mit dem Namen des Themes.

Das Mengenfeld bleibt bei einem Produkt nach Gewicht sichtbar

Das Theme nutzt ein nicht standardmäßiges Markup für die Menge. Die gewählte Menge wird serverseitig trotzdem eingehalten (Minimum und Maximum). Kontaktieren Sie uns mit dem Namen des Themes für eine Anpassung.

Der native Preis ist nach einem Preisimport nicht aktuell

Klicken Sie auf Jetzt neu synchronisieren.

Kompatibilität

  • PrestaShop 8.0 bis 9.x, dasselbe ZIP deckt beide Zweige ab.
  • Anzeige über den nativen Hook displayProductPriceBlock, getestet mit dem Classic-Theme.
  • Architektur ModuleAdminController, ohne Composer-Abhängigkeit, PHP 7.2 und höher.
  • Oberfläche und E-Mails auf Deutsch, Französisch, Englisch, Spanisch, Italienisch, Niederländisch, Polnisch und Portugiesisch.
War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren