Hallo liebe OXID Experten
Ich hätte eine Frage bzgl. eines Projekts - einer unserer Kunden hat für JEDEN seiner Kunden (B2B) für JEDES seiner Produkte andere Preise - diese würde er uns auch ganz genau liefern - die Frage ist - ist das mit der Community Version abdeckbar?
Ich denke da an eine Zwischentabelle mit den Eigenschaften Preis (auch Staffelpreisauszeichnung) und den Foreign Keys zum Kunden sowie zur Produkte-Tabelle…
Wichtig dafür wäre natürlich eine ZENTRALE Stelle in OXID, wo die Preise berechnet werden, damit nicht an zig Stellen diese Berechnung umgeschrieben wird.
Wie seht ihr das - ist das mit einem Erweiterungsmodul umsetzbar?
Könntet ihr mir ein paar Brocken hinwerfen, welche Klassen/Module angepasst werden müssten?
Vielen Dank für euer Feedback!
Liebe Grüße,
Chris
Hallo Chris,
es gibt verschiedene Ansätze: Preise können z.B. real time über eine Schnittstelle aus der ERP geholt werden oder man baut eine Riesen-Tabelle für alle Kunden auf. D³-Thomas hat mir grad gestern dazu etwas erzählt
Gruß
Ich würde da in der Funktion _getGroupPrice in oxarticle ansetzen
protected function _getGroupPrice()
{
$dPrice = $this->oxarticles__oxprice->value;
$oUser = $this->getArticleUser();
if ( $oUser ) {
if ( $oUser->inGroup( 'oxidpricea' ) ) {
$dPrice = $this->oxarticles__oxpricea->value;
} elseif ( $oUser->inGroup( 'oxidpriceb' ) ) {
$dPrice = $this->oxarticles__oxpriceb->value;
} elseif ( $oUser->inGroup( 'oxidpricec' ) ) {
$dPrice = $this->oxarticles__oxpricec->value;
}
}
// #1437/1436C - added config option, and check for zero A,B,C price values
if ( $this->getConfig()->getConfigParam( 'blOverrideZeroABCPrices' ) && (double) $dPrice == 0 ) {
$dPrice = $this->oxarticles__oxprice->value;
}
return $dPrice;
}
Da werden die ABC-Gruppen-Preise abhängig vom User geholt (spezielle Preise für die Mitglieder der 3 Gruppen), da könnte man also genauso auch selber Preise abhängig vom User aus einer Tabelle holen.