Hallo zusammen,
Ich habe ein neues Entity erzeugt (product_cust), das das shopware entity ‘product’ erweitern soll. product_cust besitzt eine referenz auf das product-entity (1:1). Ich habe in einer Extension dem product-entity eine neue Assoziation (OneToOne) hinzugefügt und über einen subscriber mittels des events ‘onProductCriteriaLoaded’ und $event->getCriteria()->addAssociation(‘cust’); das Autloading im Storefront enabled. Autoloading der neuen Assoziation im Adminbereich habe ich über die main.js realisiert, mittels:
Shopware.Component.override('sw-product-detail', {
[...]
computed: {
productCriteria() {
const criteria = new Criteria();
criteria.addAssociation('cust')
...
}
}
[...]
}
Die Assoziation in der Extension ist als inherited geflaggt, ebenso habe ich eine migration erzeugt und ausgeführt um die product-tabelle um die spalte cust (nullable) zu erweitern. In der Hauptdatei meines Plugins habe ich außerdem über die activate-funktion noch den Indexer getriggert.
Die Admin-UI habe ich dahingehend erweitert, dass ich in der product-detail-view einen neuen tab ‘cust’ habe, worunter ich die felder meiner neuen assoziation verwalten kann.
Erzeuge ich mir nun über den neuen tab ein neues objekt ‘cust’ für das zugehörige produkt, so kann ich auf dieses im storefront über das extension-property des products zugreifen.
Ich habe allerdings das Problem das die Vererbung nicht funktioniert. Erzeuge ich von dem Produkt eine Variante und greife im Storfront auf die Variante zu, so ist das cust-feld unter ‘extension’ immer null, obwohl das Parent-Product cust-daten besitzt. In der Datenbank kann ich sehen, dass der neue Eintrag für die Variante in der Product-Tabelle in der Spalte ‘cust’ eine Referenz auf das Parent-Product besitzt. Die Referenzierung in der Datenbank klappt also offensichtlich.
Was muss ich tun? Habe ich irgendetwas vergessen? Klappt nur das Autloading des cust-feldes im storefront nicht, weil bei Varianten nicht das event ‘onProductCriteriaLoaded’, sondern ein anderes gefeuert wird? Oder fehlt sonst noch etwas essentielles?
Die Docs bin ich bereits ettliche Male durchgegangen und habe alles dort gefundene auch bei mir realisiert. Ich habe jedoch den Spezialfall einer OneToOne-Relation. Kann das eventuell auch daran liegen?
Ich wäre über jede Hilfe dankbar, denn das ist aktuell ein großer Showstopper für mich.
Vielen Dank