Quantcast
Channel: Programmierung - Shopware Community Forum
Viewing all articles
Browse latest Browse all 2871

Event Listener

$
0
0

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

 


Viewing all articles
Browse latest Browse all 2871

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>