Das Problem
Vielleicht stand der eine oder andere schon mal vor dem Problem, dass "VirtueMart 2" zwar einige Vorgaben zum Grundpreis anbietet, allerdings nicht die Möglichkeit bietet eigene zu definieren.
Genauer gesagt hat mein keine Möglichkeit den Stückpreis anzeigen zu lassen. Dies ist nicht zu verwechseln mit der Möglichkeit "Einheiten pro Karton" anzugeben. Einiges lässt sich sicher auch damit lösen. Biete ich aber z.B. 10 Tabletten-Packungen pro Karton an und möchte trotzdem den Grundpreis pro Tablette angeben, stehe ich vor einem Problem.
Da VirtueMart uns derzeit keine einfache Möglichkeit anbietet, müssen wir uns eines Corehacks bedienen.
Grundpreis Erweiterung
Die Auswahlfelder für den Grundpreis werden in der shopfunctions.php definiert. Diese findet man in administrator/components/com_virtuemart/helpers/.
Folgende Zeile muss gesucht werden:
static function renderUnitIsoList($name, $selected){
Diese Funktion beinhaltet alle Auswahlmöglichkeiten. Hier wollen wir nun unseren Stückpreis einbinden:
, 'UNIT' => JText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_UNIT')
UNIT steht hierbei für Einheit.
JText::_ ('COM_VIRTUEMART_UNIT_SYMBOL_UNIT')
Dies ist der Sprachschlüssel für die Produkteinheit (Stück). Am besten legt man dafür einen Sprachoverrite im Backend an.
Das war es auch schon. Nicht vergessen die Datei zu sichern, da diese sonst bei einem Update verloren geht!