Techtalk: Pimcore Data Director: Vererbung optimieren + Dataports bereitstellen

Aktualisierung des obersten Objekts

 

Die Aktivierung des Kontrollkästchens "Vererbung optimieren" in den Datenport-Einstellungen führt dazu, dass der Importer die importierten Daten nicht unbedingt direkt auf das Objekt setzt, das durch die Schlüsselfelder identifiziert wird, sondern auf eines seiner Eltern/Ahnen, um die Vorteile der Objektvererbung zu nutzen. 

Ein Beispiel, Sie haben die folgende Master-Slave-Produktstruktur:

  • Master
    • Slave 1
    • Slave 2
        
Es gibt 3 Zeilen in Ihrer Datenquelle:
| ID | Name | Preis | Master-ID | Kategorie-ID |

|----|--------------|-------|-----------|-------------|

| 1 | Testprodukt | | 2 | |

| 2 | Testprodukt | 10 | 1 | 2 |

| 3 | Testprodukt | 20 | 1 | 2 |
Wenn Sie mit "Vererbung optimieren" importieren, aktualisiert der Importer den Master, indem er den Namen und die Kategorie festlegt. Dann importiert er die Slaves ebenfalls mit Namen und Kategorie. Wenn Sie später den Namen oder die Kategorie ändern möchten, müssen Sie dies in allen 3 Objekten tun.

Wenn Sie "Vererbung optimieren" verwenden, würde der Importer den Master wie oben beschrieben aktualisieren. Aber wenn es darum geht, die Slaves zu importieren, holt sich der Importer die Geschwister des Slaves. Wenn alle Geschwister denselben Wert im importierten Feld haben, wird der Wert nur beim obersten Objekt aktualisiert. In diesem Fall würden die Felder Name und Kategorie für die Slaves leer bleiben, da alle Slaves denselben Namen und dieselbe Kategorie haben. Die Kategorie und der Name werden nur auf dem Master aktualisiert. Dennoch erhalten die Slaves die Werte in diesen Feldern durch Vererbung.

Da sich die Preise zwischen den Slaves unterscheiden, werden sie auf den Slave-Objekten gesetzt.

Wenn Sie später den Namen oder die Kategorie ändern wollen, müssen Sie dies nur an einer einzigen Stelle tun: am Master. Das macht die Bearbeitung sehr viel einfacher.

Dies gilt auch für viele andere Anwendungsfälle, z. B. technische Daten über Objektbausteine: Wenn Sie Ihren Objektbaum hierarchisch strukturieren, bedeutet das oft, dass ähnliche Objekte unter demselben Zweig liegen. Zum Beispiel bestehen alle Produkte unter einem bestimmten Zweig aus demselben Material. Dann würde die Vererbungsoptimierung das Objektbausteinfeld "Material" nur für die Wurzel des Zweigs aktualisieren. Alle darunter liegenden Objekte würden diesen Wert erben.