Hey,
ich versuche die Preise auf der Detail Seite sowie dann im Warenkorb und in der Kasse zu ändern mit einem Plugin. Ich versuche den Preis zu nehmen zu ändern und zurück zu geben und das aber nur wenn die Subshop ID 5 ist. Aber es funktioniert nicht
true,
'update' => true,
'enable' => true
);
}
/**
* this derived method is called automatically each time the plugin will be installed
*
* @return bool | if false is return the installation will failed
*/
public function install()
{
/** Keine Uninstall nötig, da keine DB Tabelle angelegt wird */
$this->subscribeEvent(
'Enlight_Controller_Action_Frontend_Listing_Index',
'onPostDispatchListing'
);
$this->subscribeEvent(
'Enlight_Controller_Action_Frontend_Detail_Index',
'onPostDispatchDetail'
);
$this->subscribeEvent(
'Enlight_Controller_Action_PostDispatch_Frontend',
'onPostDispatch'
);
return true;
}
/** Pluginname in einer Extramethode*/
public function getLabel()
{
return 'PreisNeu';
}
/** Versionierung des Plugins */
public function getVersion()
{
return '0.0.1';
}
/* Preis überschreiben Warenkorb */
public static function getSubscribedEvents()
{
return ['Shopware_Modules_Basket_getPriceForUpdateArticle_FilterPrice' => 'onFilterPrice'];
}
/**
* @param \Enlight_Event_EventArgs $args
*/
public function onFilterPrice(\Enlight_Event_EventArgs $args)
{
//SubshopID ermitteln
$subshopid = Shopware()->Shop()->getId();
if ($subshopid = '5') {
$price = $args->getReturn();
//$price['price'] = $price['price'] / 1.40;
$price['price'] = '1';
$args->setReturn($price);
}
}
/* Preis überschreiben Generell */
/**
* @param \Enlight_Event_EventArgs $args
*/
public function sCalculatingPrice(\Enlight_Event_EventArgs $args)
{
//SubshopID ermitteln
$subshopid = Shopware()->Shop()->getId();
if ($subshopid = '5') {
$price = $args->getReturn();
$price['price'] = '1';
$args->setReturn($price);
}
}
}