Für alle die auch die abwegige Vorstellung haben, dass bei „Bruttopreise beibehalten“ auch die Pseudopreise beibehalten werden sollten, hier eine kleine Erweiterung des Plugins:
Zu ändern ist die Datei SwagTax\Components\TaxUpdater.php
Folgende Funktion irgendwo einfügen (Ähnlichkeiten mit recalculateProductPrices sind rein zufällig ) :
private function recalculateProductPseudoPrices($oldTaxId, $newTaxRate, $newTaxId, $customer_group_mapping)
{
$oldTaxRate = $this->connection->fetchColumn('SELECT tax FROM s_core_tax WHERE id = ?', [$oldTaxId]);
$qb = $this->connection->createQueryBuilder();
$qb->update('s_articles_prices', 'pseudo')
->set('pseudoprice', sprintf('pseudoprice/%s*%s', 1 + ($newTaxRate / 100), 1 + ($oldTaxRate / 100)))
->where('pseudo.pricegroup IN (:groups)')
->andWhere('(SELECT taxID FROM s_articles WHERE id = pseudo.articleID) = :newTaxID')
->andWhere('pseudo.pseudoprice > 0');
$qb->setParameter(':groups', $customer_group_mapping, Connection::PARAM_STR_ARRAY);
$qb->setParameter(':newTaxID', $newTaxId);
$qb->execute();
}
Und Zeile 54-56 ersetzen mit:
if ($config['recalculate_prices']) {
$this->recalculateProductPrices($oldTaxId, $newTaxRate, $newTaxId, $config['customer_group_mapping']);
$this->recalculateProductPseudoPrices($oldTaxId, $newTaxRate, $newTaxId, $config['customer_group_mapping']);
}
Thats it. Jetzt werden auch die Pseudopreise beibehalten.
Gerade 1x getestet, aber natürlich alles ohne Gewähr. Testumgebung first!