Hi Leute,
ich möchte die aus meinem Plugins die fest in der Datenbank eingetragenen Event Listener enfernen und durch Subscribers entfernen.
Daher möchte ich die alten Listener aus der Datenbank löschen. Das ist scheinbar durch eine einfaches SQL Satement nicht möglich.
Es soll in der Update Methode des Plugins gelöscht werden.
Alt, wird entfernt:
public function install() {
$this->subscribeEvent( ‚Shopware_Controllers_Widgets_Emotion_AddElement‘, ‚onEmotionAddElement‘ );
}
Versuch den Listener in der Update Methode zu löschen:
public function update($oldVersion) {
if($oldVersion == ‚0.2.0‘){
$sql = „DELETE FROM s_core_subscribes
WHERE subscribe
= ? AND pluginID
= ?“;
Shopware()->Db()->query($sql, array(‚Shopware_Controllers_Widgets_Emotion_AddElement‘, $this->getId()));
}
}
Das Statement an sich funktioniert aber der Listener wird später wider eingefügt.
Und zwar hier: engine/Shopware/Components/Plugin/Namespace.php :: public function write()
Hat jemand eine Idee wie man nicht mehr benötigten Eventlistner aus der Datenbank entfernen kann?
Danke