Shopware: Traue keinem Subscriber!
dürfen.
$outputModelCopy = new \ArrayObject($outputModel);
$outputModelCopy = $this->fireEvent('decorate_model', $outputModelCopy);
if($outputModelCopy && count($outputModelCopy->getArrayCopy()) > 0){
$outputModel = $outputModelCopy->getArrayCopy();
}
Sollte nun etwas schief gehen und die Daten verloren gehen, werden einfach die Ursprungsdaten weiter verwendet. Wenn nun zusätzliche Daten nicht dazu dekoriert werden, ist es zwar doof und man muss in das Log-File gucken, ob Fehler auftraten, aber der Ablauf funktioniert weiter und es kommen immer hin die Grunddaten weiter dort an wo sie hin sollen.
Gerade bei Exports oder Imports mit kritischen und unkritischen Daten zusammen, ist es immer besser wenigstens die kritischen Daten sicher zu haben als gar nichts zu haben. Unkritische Daten kann man meistens dann sogar per Hand nachpflegen.