Bei einem Produkt mit einer nicht verfügbaren Variante mit dem günstigsten Preis, wird diese auf der Detailseite vorausgewählt - anstatt die günstigste verfügbare Variante.
Es handelt sich um einen kleinen Sortier-Bug in src/Core/Content/Product/SalesChannel/Detail/ProductDetailRoute.php:
Anstatt
$criteria = (new Criteria())
->addFilter(new EqualsFilter('product.parentId', $productId))
->addSorting(new FieldSorting('product.price'))
->addSorting(new FieldSorting('product.available'))
->setLimit(1);
müsste es heißen
$criteria = (new Criteria())
->addFilter(new EqualsFilter('product.parentId', $productId))
->addSorting(new FieldSorting('product.price'))
->addSorting(new FieldSorting('product.available', 'DESC'))
->setLimit(1);