ich möchte gerne die Artikel-Bewertungen um ein paar Felder zu reduzieren. Ich habe per Overwrite die Smarty Blöcke leergelassen, aber Shopware prüft trotzdem die nicht vorhandenen Pflichtfelder.
Kann mir jemand erklären wie ich diesen Controller überschreiben kann mit einem eigenen Plugin?
zB:
if (empty(Shopware()->System()->_POST[‘sVoteName’])) {
$sErrorFlag[‘sVoteName’] = false ;
}
Ich würde die benötigten Elemente verstecken und standardmäßig mit irgendetwas füllen. So brauchst du keine 200 Zeilen in deinen replace hook zu kopieren.
Ich würde die benötigten Elemente verstecken und standardmäßig mit irgendetwas füllen. So brauchst du keine 200 Zeilen in deinen replace hook zu kopieren.
Das ist natürlich auch eine valide Lösung. Ich hätte nur keine Lust diesen Dummy Müll in der Datenbank zu haben :-)
Ich würde auf alle Fälle die Lösung von [@Aquatuning GmbH](http://forum.shopware.com/profile/11752/Aquatuning GmbH “Aquatuning GmbH”) bevorzugen. Replace-Hooks sollte man so gut es geht vermeiden. Einfach im PreDispatch-Event die Felder mit Dummy-Daten füllen. Und falls es dich wirklich in der Datenbank stört, kannst du sie ja im PostDispatch-Event wieder entfernen.
Speicherplatzverbrauch in der Datenbank bleibt sowieso gleich, da pro Zeile der Platz immer alloziert wird.
Mit Grundsatzdiskussion hat das wenig zu tun. Shopware selbst sagt schon lange:
[…] For these reasons, events should always be preferred over hooks, especially the replace hook should be avoided when possible. Also that’s the reason why only core classes and repositories are hookable in Shopware. […]
Replace-Hooks sind einfach Bad-Practice, da sollte man den Fragesteller vor dieser Lösung warnen .