Hallo,
ich bin neu in Shopware und versuche gerade zum Test bei einem Plugin das Event
Shopware\_Modules\_Basket\_getPriceForUpdateArticle\_FilterPrice
abzufangen um die Preise von Artikeln im Warenkorb zu ändern. Im ersten Schritt will ich aber erstmal nur eine Konsolenausgabe
Dabei hab ich das Problem das meine Methode getPriceForUpdateArticle zum Event nie aufgerufen wird. Ich habe keine Konsolenausgabe oder ähnliches.
Hat jemand vielleicht einen Tipp was bei mir falsch sein könnte? Oder habe ich hier vielleicht ein Verständnisproblem o.ä.?
Hier mein SubscriberInterface dazu, welches auch in der services.xml aufgeführt ist. Ist ein angepasstes Beispiel von der Shopware Webseite.
class TemplateRegistration implements SubscriberInterface
{
/**
* @var string
*/
private $pluginDirectory;
/**
* @var \Enlight_Template_Manager
*/
private $templateManager;
/**
* @param $pluginDirectory
* @param \Enlight_Template_Manager $templateManager
*/
public function __construct($pluginDirectory, \Enlight_Template_Manager $templateManager)
{
$this->pluginDirectory = $pluginDirectory;
$this->templateManager = $templateManager;
}
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents()
{
return [
'Enlight_Controller_Action_PreDispatch' => 'onPreDispatch',
'Shopware_Modules_Basket_getPriceForUpdateArticle_FilterPrice ' => 'getPriceForUpdateArticle'
];
}
public function onPreDispatch()
{
$this->templateManager->addTemplateDir($this->pluginDirectory . '/Resources/views');
}
public function getPriceForUpdateArticle(\Enlight_Event_EventArgs $args) {
$controller = $args->getSubject();
$id = $args->getId();
echo $id;
}
}