Bitte beachte, dass sich diese Dokumentation auf die neuste Version dieser Erweiterung bezieht. Wenn eine ältere Version eingesetzt wird, kann diese abweichen. Die jeweils passende Dokumentation befindet sich im Dokumentation-Verzeichnis der Erweiterung.
Grundpreise
Grundpreise zeigen zusätzlich zum Verkaufspreis den Einheitspreis je definierter Referenzmenge (z. B. pro 1 kg, pro 1 l, pro 100 g) an. Das erleichtert den Vergleich und dient der Einhaltung der Preisangabenverordnung.
So funktioniert es im Shop
- Im Produkt-Datensatz definierst Du den Netto-Inhalt des Produkts und die dazugehörige Einheit (z. B. 750 ml, 2 kg, 100 g, 3 l, ...).
- Außerdem definierst Du die Referenzmenge und deren Einheit, für die der Grundpreis angezeigt werden soll (z. B. 1 l, 1 kg, 100 g, ...).
- Der Shop berechnet daraus dynamisch den Grundpreis auf Basis des aktuellen Verkaufspreises (inkl. Rabatte) und zeigt ihn im Frontend an.
Beteiligte Produktfelder
- Netto-Inhalt: Numerischer Inhaltswert im Feld „nettoContent“
- Inhalts-Einheit: Mengeneinheit des Netto-Inhalts (z. B. g, kg, ml, l)
- Referenzmenge für Grundpreis: Numerischer Referenzwert im Feld „basePriceContent“
- Grundpreis-Einheit: Mengeneinheit der Referenzmenge
Beispiel
- Produktpreis: 3,75 €
- Netto-Inhalt: 750 ml
- Referenzmenge: 1 l
- Ergebnis-Grundpreis: 5,00 € je 1 l
Fluid-Verwendung
<f:if condition="{product.basePriceAsFloat}">
<small class="{settings.detail.css.class.infos.price.basePrice}">
<f:render partial="Price" arguments="{settings: settings, price: product.basePriceAsFloat}"/> <f:translate key="tx_shop_label.base_price_per" /> {product.basePriceUnitArray.label}
</small>
</f:if>
Hinweise
- Grundpreise werden nur berechnet, wenn sowohl Netto-Inhalt als auch Referenzmenge (inkl. Einheiten) gültig gesetzt sind.
- Die Berechnung nutzt stets den aktuellen Produktpreis nach Abzug von Rabatten.
- Es wird kaufmännisch auf 2 Nachkommastellen gerundet.
Examples
Example data table
label | short | factor | Anmerkung/Faktor-Basis |
---|---|---|---|
Milliliter | ml | 1 | Flüssigkeiten: Basis ist 1 ml |
Liter | l | 1000 | 1 l = 1000 ml |
Milligramm | mg | 1 | Trockengewicht: Basis ist 1 mg |
Gramm | g | 1000 | 1 g = 1000 mg |
Kilogramm | kg | 1000000 | 1 kg = 1000 g = 1 000 000 mg |
Stück | Stk | 1 | Zählbare Einheiten, Basis ist 1 Stück |
Zentimeter | cm | 1 | Länge: Basis ist 1 cm |
Meter | m | 100 | 1 m = 100 cm |
Quadratmeter | m² | 10000 | Fläche: Basis ist 1 cm², 1 m² = 100 cm × 100 cm = 10 000 cm² |
Kubikmeter | m³ | 1000000 | Volumen: Basis ist 1 cm³, 1 m³ = 100 cm × 100 cm × 100 cm = 1 000 000 cm³ |
Example SQL inserts
INSERT INTO tx_shop_domain_model_productmeasurement
(pid, label, short, factor, tstamp, crdate, cruser_id, deleted, hidden)
VALUES
(0, 'Milliliter', 'ml', 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 0, 0),
(0, 'Liter', 'l', 1000, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 0, 0),
(0, 'Milligramm', 'mg', 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 0, 0),
(0, 'Gramm', 'g', 1000, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 0, 0),
(0, 'Kilogramm', 'kg', 1000000, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 0, 0),
(0, 'Stück', 'Stk', 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 0, 0),
(0, 'Zentimeter', 'cm', 1, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 0, 0),
(0, 'Meter', 'm', 100, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 0, 0),
(0, 'Quadratmeter', 'm²', 10000, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 0, 0),
(0, 'Kubikmeter', 'm³', 1000000, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), 0, 0, 0);