In meiner CSV-Datei für ein Preis-Portal habe ich ein Problem mit PRICE und PRICE_OLD. Bei reduzierten Artikeln stimmt es. Beispiel: Artikel hat brutto 10 Euro gekostet und wurde um 50 % reduziert. In der CSV Datei steht demnach PRICE 5 €, PRICE_OLD 10 €. Bei den nicht reduzierten Preisen steht unter PRICE der aktuelle Brutto-Preis, und unter PRICE_OLD der aktuelle Netto-Preis. Beispiel: Artikel kostet aktuell brutto 11.90 €, das steht auch unter PRICE. Unter PRICE_OLD steht aber 10€.
Auf das Problem bin ich auch gerade gestoßen. Der Bug liegt in der Datei system/classes/csv/CSVFunctionLibrary.inc.php, Zeile 808 in function _get_old_price. Es wird zuerst der Produktpreis ohne Umsatzsteuer geholt und nur wenn ein Angebots-Preis (special) vorliegt wird dieser inkl. Umsatzsteuer zurückgegeben. Wenn kein Angebot vorliegt, wird der Vorige (also Normalpreis ohne Umsatzsteuer) geliefert. Bezogen auf die Erwartungshaltung ein Bug. Behebung könnte so aussehen, das liefert Nichts (Leerstring) zurück, wenn kein Angebot vorliegt und den alten Preis inkl. Umsatzsteuer, wenn ein Angebot vorliegt: protected function _get_old_price( $p_data_array ) { // $t_return = $p_data_array['products_price']; $t_return = ''; if( $this->coo_xtc_price->xtcCheckSpecial($p_data_array[ 'products_id' ]) ) { $t_return = $this->_calculate_price($p_data_array, false); } return $t_return; } Fehler existiert in 3.8.x und wohl auch in der 3.10. da sich dort in dieser Datei nichts geändert hat.
Ist richtig, haben wir als ein Ticket kam auch gemerkt. https://tracker.gambio-server.net/issues/57716 Fix kommt in 3.10.1.0.