Sortierung im Listing mit Varianten

Hallo zusammen,

Ich habe eine Frage zur Sortierung im Listing:
Varianten werden nicht zwischen den Hauptprodukten sortiert. Warum? Die Hauptprodukte werden richtig sortiert. Sobald ein Variantenprodukt dazu kommt, funktioniert es nicht mehr.
Das sind meine Code-Ausschnitte:
class ProductExtension extends EntityExtension
{
public function extendFields(FieldCollection $collection): void
{
$collection->add(
(new SortOneToMany(
‚mbdusSort‘,
ProductCategoriesSortDefinition::class,
‚product_id‘,
‚id‘
))->addFlags(new Extension())
);
}

public function getDefinitionClass(): string
{
    return ProductDefinition::class;
}

}

class ProductCategoriesSortDefinition extends EntityDefinition
{

public function getEntityName(): string
{
    return 'mbdus_productcategoriessort';
}

protected function defineFields(): FieldCollection
{
    return new FieldCollection([
        (new IdField('id', 'id'))->addFlags(new Required(), new PrimaryKey()),
        (new FkField('product_id', 'productId', ProductDefinition::class))->addFlags(new Required()),
        (new FkField('category_id', 'categoryId', CategoryDefinition::class))->addFlags(new Required()),
        (new IntField('sort', 'sort'))->addFlags(new Required()),
        (new ManyToOneAssociationField('product', 'product_id', ProductDefinition::class, 'id')),
        (new ManyToOneAssociationField('category', 'category_id', CategoryDefinition::class, 'id')),
    ]);
}

}

public static function getSubscribedEvents()
{
return [
ProductListingCriteriaEvent::class => ‚addCriteria‘
];
}

$productListingCriteriaEvent->getCriteria()->resetSorting();
$productListingCriteriaEvent->getCriteria()->addSorting(new FieldSorting(‚mbdusSort.sort‘, FieldSorting::ASCENDING));

Was kann ich machen, um Varianten, die in der Datenbank mit der parent_id stehen, auch mit zu berücksichtigen?

Ich versuche nochmal es anders zu formulieren.

Ich möchte ein Produkt erweitern und in der Kategorie darauf zugreifen. Wenn es sich jedoch um einen Variantenartikel handelt, wird evtl. eine andere product_id verwendet als im Adminbereich festgelegt und gespeichert. D.h. ich müsste entweder das Produkt auch mit der parent_id erweitern, dann weiß ich aber trotzdem nicht welche Variante ausgespielt wird, oder ich treffe im Adminbereich schon die richtige Variante, obwohl ich nur den Stammartikel auswähle. Ich hoffe, mich etwas verständlicher ausgedrückt zu haben. Wie kann ich einen Artikel erweitern, wenn in der Kategorie die Variante angezeigt wird? Die Variante hat eine andere product_id als der Stammartikel.
Grüße
Mathias

Ich trage jetzt auch die Varianten in die eigene Tabelle ein. D.h. ich habe eine 1:1 Beziehung zur „product“-Tabelle. Es geht aber bestimmt auch anders bzw. besser. Über einen Denkanstoß wäre ich dankbar.
Grüße