Bohužel jsem musel lehce upravit CORE soubor. O zjištění ceny produktů se stará funce getProductPrices , kterou jsem našel v souboru
/administrator/components/com_virtuemart/helpers/calculationh.php
Tato fce připraví ceny produktu pro výpis, detail i košík, takže vše bude fungovat, jak je potřeba. V mém případě jsem potřeboval natvrdo přepsat ceny a ignorovat veškerá další nastavení. Takže na úplném konci fce getProductPrices, kde je výstup
return $this->productPrices;
jsem upravil kód takto:
/* hack pro přepis cen -- START */ include("nejakyscriptprozjistenicen.php"); $this->productPrices["basePriceWithTax"] = $novacena; $this->productPrices["salesPrice"] = $novacena; /* hack pro přepis cen -- KONEC */ return $this->productPrices;
V inkludovaném souboru jsem si udělal potřebnou detekci pravidel pro přepsání ceny. A hotovo.
Bohužel, je to hack core souboru, což není ideální. Pokud byste mi někdo poradili, jak to udělat systémověji a nemuset po každém upgrade virtuemart kontrolovat, zda nedošlo k přepsání hacku, byl bych vděčen. Nicméně toto řešení spolehlivě funguje.