Shopware Knowledgebase

Shopware Labs

Der Bereich Shopware Labs ist die Plattform für alle Entwickler. Hier findet man technische Dokumentationen und zahlreiche Tipps und Tricks rund um das Thema Programmieren. In dieser Rubrik stellen außerdem die Entwickler der shopware AG neue und experimentelle Lösungsansätze vor. Neue Funktionen, die in dieser Rubrik bereitgestellt werden, sind teilweise auch für zukünftige Releases geplant. Die Funktionen können dann ohne Programmierkenntnisse zukünftig direkt im Shopware Backend konfiguriert werden oder werden über Plugins bereitgestellt. Informationen über neue, geplante Funktionen finden Sie in unserer Roadmap.

Bitte beachten Sie, dass die hier bereitgestellten Lösungsansätze nicht offiziell supportet werden und nur eingebaut werden sollten, sofern Sie über das entsprechende, technische Wissen verfügen.

Event Übersicht 3.5.0

0 Kommentare

Inhaltsverzeichnis

Einführung

In diesem Wiki-Artikel finden Sie eine vollständige Liste, aller in Shopware definierter Standard-Events.

Beispiele für Controller-Events

Mit dem Shopware Event-System können Sie Ihre Anpassungen flexibel in jeden Controller und jede Controller-Action integrieren.

Formaler-Aufbau für Pre- und Post-Dispatch Events auf Controller-Ebene:

(Die Parameter CONTROLLER und ACTIONNAME sind optional!)

Post-Dispatch (Nach Ausführung): Enlight_Controller_Action_PostDispatch_MODULE_CONTROLLER_ACTIONNAME

Pre-Dispatch (Vor Ausführung): Enlight_Controller_Action_PreDispatch_MODULE_CONTROLLER_ACTIONNAME

Eigener Code soll bei jedem Frontend-Controller ausgeführt werden

 
public function install()
{
    $event = $this->createEvent(
        'Enlight_Controller_Action_PostDispatch',
        'onTest'
    );
    $this->subscribeEvent($event);
}
public static function onTest(Enlight_Event_EventArgs $args)
{
    $request = $args->getSubject()->Request();
    $response = $args->getSubject()->Response();
    $view = $args->getSubject()->View();
 
    if(!$request->isDispatched() // Nur wenn es kein Forward / keine Weiterleitung gibt
      || $response->isException() // Kein Fehler wurde vorher geworfen
      || $request->getModuleName() != 'frontend') { // Nur bei einem Frontend-Controller
        return;	
    }
 
    $view->foo = "bar";
}
 

Eigener Code soll generell im Detail - Controller ausgeführt werden

 
public function install()
{
    $event = $this->createEvent(
        'Enlight_Controller_Action_PostDispatch_Frontend_Detail',
        'onTest'
    );
    $this->subscribeEvent($event);
}
public static function onTest(Enlight_Event_EventArgs $args)
{
 $request = $args->getSubject()->Request();
 $response = $args->getSubject()->Response();
 $view = $args->getSubject()->View();
 $view->foo = "bar";
}
 

Neue Action im Detail-Controller hinzufügen / Eine vorhandene Action ersetzen

 
public function install()
{
    $event = $this->createEvent(
        'Enlight_Controller_Action_Frontend_Detail_Index',
        'onTest'
    );
    $this->subscribeEvent($event);
}
public static function onTest(Enlight_Event_EventArgs $args)
{
    $request = $args->getSubject()->Request();
    $response = $args->getSubject()->Response();
    $view = $args->getSubject()->View();
    $view->foo = "bar";
    return false; // Action gefunden / Orginale Action nicht ausführen
}
 

Eigener Code soll auf der Backend-Startseite ausgeführt werden

 
public function install()
{
    $event = $this->createEvent(
        'Enlight_Controller_Action_PostDispatch_Backend_Index',
        'onTest'
    );
    $this->subscribeEvent($event);
}
public static function onTest(Enlight_Event_EventArgs $args)
{
    $request = $args->getSubject()->Request();
    $response = $args->getSubject()->Response();
    $view = $args->getSubject()->View();
    $view->foo = "bar";
}
 

System - Events (Sortiert nach Ausführung)

Enlight_Controller_Front_StartDispatch

Definiert in: /engine/Enlight/Enlight/Controller/Front.php Zeile 26

Kurzbeschreibung: Hier kann man z.B. manuell den Router, Dispatcher, Request und das Response-Objekt setzen.

Definition:

 
Enlight()->Events()->notify('Enlight_Controller_Front_StartDispatch', array('subject'=>$this));
 

Enlight_Controller_Front_RouteStartup

Definiert in: /engine/Enlight/Enlight/Controller/Front.php Zeile 42

Definition:

 
Enlight()->Events()->notify('Enlight_Controller_Front_RouteStartup', array('subject'=>$this));
 

Enlight_Controller_Router_Route

Definition:

 
Enlight()->Events()->notifyUntil('Enlight_Controller_Router_Route', array('subject'=>$this, 'request'=>$request));
 

Enlight_Controller_Router_FilterRouteParams

Definition:

 
Enlight()->Events()->filter('Enlight_Controller_Router_FilterRouteParams', $params);
 

Enlight_Controller_Router_PreAssemble

Definition:

 
Enlight()->Events()->notify('Enlight_Controller_Router_PreAssemble', array('subject'=>$this, 'request'=>$request));
 

Enlight_Controller_Router_FilterAssembleParams

Definition:

 
$params = Enlight()->Events()->filter('Enlight_Controller_Router_FilterAssembleParams', $params, array('subject'=>$this, 'request'=>$request));
 

Enlight_Controller_Router_Assemble

Definition:

 
Enlight()->Events()->notifyUntil('Enlight_Controller_Router_Assemble', array('subject'=>$this, 'params'=>$params, 'userParams'=>$userParams));
 

Enlight_Controller_Router_FilterUrl

Definition:

 
$url = Enlight()->Events()->filter('Enlight_Controller_Router_FilterUrl', $url, array('subject'=>$this, 'params'=>$params, 'userParams'=>$userParams));
 

Enlight_Controller_Front_RouteShutdown

Definiert in: /engine/Enlight/Enlight/Controller/Front.php Zeile 56

Definition:

 
 Enlight()->Events()->notify('Enlight_Controller_Front_RouteShutdown', array('subject'=>$this, 'request'=>$this->Request()));
 

Enlight_Controller_Front_DispatchLoopStartup

Definiert in: /engine/Enlight/Enlight/Controller/Front.php Zeile 61

Kurzbeschreibung: Hier kann man z.B. den Controller/Action vor dem Dispatch noch modifizieren (Wird nur einmal aufgrufen)

Definition:

 
Enlight()->Events()->notify('Enlight_Controller_Front_DispatchLoopStartup', array('subject'=>$this, 'request'=>$this->Request()));
 

Enlight_Controller_Front_PreDispatch

Definiert in: /engine/Enlight/Enlight/Controller/Front.php Zeile 75

Kurzbeschreibung: Hier kann man z.B. verhindern das Actions ohne Autorisierung aufgerufen werden und auf einen anderen Controller umleiten (Wird vor jeder Dispatch-Runde aufgerufen).

Definition:

 
Enlight()->Events()->notify('Enlight_Controller_Front_PreDispatch', array('subject'=>$this, 'request'=>$this->Request()));
 

Enlight_Controller_Action_Init

Definiert in: /engine/Enlight/Enlight/Controller/Action.php Zeile 27

Definition:

 
Enlight()->Events()->notify(__CLASS__.'_Init', array('subject'=>$this, 'request'=>$this->Request(), 'response'=>$this->Response()));
 

Enlight_Controller_Action_Init_*

* = Controller-Name z.B. Checkout

Definiert in: /engine/Enlight/Enlight/Controller/Action.php Zeile 28

Definition:

 
Enlight()->Events()->notify(__CLASS__.'_Init_'.$this->controller_name, array('subject'=>$this, 'request'=>$this->Request(), 'response'=>$this->Response()));
 

Enlight_Controller_Action_PreDispatch

Definiert in: /engine/Enlight/Enlight/Controller/Action.php Zeile 45

Definition:

 
Enlight()->Events()->notify(__CLASS__.'_PreDispatch', array('subject'=>$this,'request'=>$this->Request()));
 

Enlight_Controller_Action_PreDispatch_*

* = Controller-Name z.B. Checkout

Definiert in: /engine/Enlight/Enlight/Controller/Action.php Zeile 46

Definition:

 
Enlight()->Events()->notify(__CLASS__.'_PreDispatch_'.$this->controller_name, array('subject'=>$this, 'request'=>$this->Request()));
 

Enlight_Controller_Action_PostDispatch

Definiert in: /engine/Enlight/Enlight/Controller/Action.php Zeile 61

Definition:

 
Enlight()->Events()->notify(__CLASS__.'_PostDispatch_'.$this->controller_name, array('subject'=>$this, 'request'=>$this->Request()));
 

Enlight_Controller_Action_PostDispatch_*

* = Controller-Name z.B. Checkout

Definiert in: /engine/Enlight/Enlight/Controller/Action.php Zeile 62

Definition:

 
Enlight()->Events()->notify(__CLASS__.'_PostDispatch', array('subject'=>$this,'request'=>$this->Request()));
 

Enlight_Plugins_ViewRenderer_PreRender

Definiert in: /engine/Enlight/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php Zeile 87

Definition:

 
Enlight()->Events()->notify('Enlight_Plugins_ViewRenderer_PreRender', array('subject'=>$this, 'template'=>$template));
 

Enlight_Plugins_ViewRenderer_FilterRender

Definiert in: /engine/Enlight/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php Zeile 89

Definition:

 
$render = $this->View()->render($template);
$render = Enlight()->Events()->filter('Enlight_Plugins_ViewRenderer_FilterRender', $render, array('subject'=>$this, 'template'=>$template));
 

Enlight_Plugins_ViewRenderer_PostRender

Definiert in: /engine/Enlight/Enlight/Controller/Plugins/ViewRenderer/Bootstrap.php Zeile 98

Definition:

 
Enlight()->Events()->notify('Enlight_Plugins_ViewRenderer_PostRender', array('subject'=>$this));
 

Enlight_Controller_Front_PostDispatch (Wird nach jedem Dispatch aufgerufen)

Definiert in: /engine/Enlight/Enlight/Controller/Front.php Zeile 106

Definition:

 
 Enlight()->Events()->notify('Enlight_Controller_Front_PostDispatch', array('subject'=>$this, 'request'=>$this->Request()));
 

Enlight_Controller_Front_DispatchLoopShutdown (Wird nur einmal je Request aufgerufen)

Definiert in: /engine/Enlight/Enlight/Controller/Front.php Zeile 120

Definition:

 
Enlight()->Events()->notify('Enlight_Controller_Front_DispatchLoopShutdown', array('subject'=>$this));
 

Enlight_Controller_Front_SendResponse

Definiert in: /engine/Enlight/Enlight/Controller/Front.php Zeile 132

Definition:

 
if(!Enlight()->Events()->notifyUntil('Enlight_Controller_Front_SendResponse', array('subject'=>$this, 'response'=>$this->Response(), 'request'=>$this->Request())))
{
	$this->Response()->sendResponse();
}
 

Enlight_Controller_Front_AfterSendResponse

Definiert in: /engine/Enlight/Enlight/Controller/Front.php Zeile 137

Definition:

 
 Enlight()->Events()->notify('Enlight_Controller_Front_AfterSendResponse', array('subject'=>$this, 'request'=>$this->Request()));     
 

Enlight_Bootstrap_InitResource_*

Definiert in: /engine/Enlight/Enlight/Bootstrap.php Zeile 96

Definition:

 
$this->resource_status[$name] = self::StatusBootstrap;
if($event = Enlight()->Events()->notifyUntil('Enlight_Bootstrap_InitResource_'.$name, array('subject'=>$this))) {
    	$this->resource_list[$name] = $event->getReturn();
    } elseif(method_exists($this, 'init'.$name)) {
    	$this->resource_list[$name] = call_user_func(array($this, 'init'.$name));
    }
 

Enlight_Bootstrap_AfterInitResource_*

* = Name der Ressource

Definiert in: /engine/Enlight/Enlight/Bootstrap.php Zeile 101

Definition:

 
Enlight()->Events()->notify('Enlight_Bootstrap_AfterInitResource_'.$name, array('subject'=>$this));
 

Core - Events

sArticles.php

Shopware_Modules_Articles_sGetArticlesByCategory_Start

Funktion: sGetArticlesByCategory, Zeile 719

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Articles_sGetArticlesByCategory_Start', array('subject'=>$this,'id'=>$id,'blog'=>$blog,'limit'=>$limit))){
return false;
}
 

Shopware_Modules_Articles_sGetArticlesByCategory_FilterSql

Funktion: sGetArticlesByCategory, Zeile 1066

Definition:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Articles_sGetArticlesByCategory_FilterSql', $sql, array('subject'=>$this,'id'=>$this->sSYSTEM->_GET['sCategory']));
 

Shopware_Modules_Articles_sGetArticlesByCategory_FilterLoopStart

Funktion: sGetArticlesByCategory, Zeile 1220

Definition:

 
$articles[$articleKey] = Enlight()->Events()->filter('Shopware_Modules_Articles_sGetArticlesByCategory_FilterLoopStart', $articles[$articleKey], array('subject'=>$this,'id'=>$this->sSYSTEM->_GET['sCategory']));
 

Shopware_Modules_Articles_sGetArticlesByCategory_FilterLoopEnd

Funktion: sGetArticlesByCategory, Zeile 1323

Definition:

 
$articles[$articleKey] = Enlight()->Events()->filter('Shopware_Modules_Articles_sGetArticlesByCategory_FilterLoopEnd', $articles[$articleKey], array('subject'=>$this,'id'=>$this->sSYSTEM->_GET['sCategory']));
 

Shopware_Modules_Articles_sGetArticlesByCategory_FilterResult

Funktion: sGetArticlesByCategory, Zeile 1384

Definition:

 
$result = Enlight()->Events()->filter('Shopware_Modules_Articles_sGetArticlesByCategory_FilterResult', $result, array('subject'=>$this,'id'=>$this->sSYSTEM->_GET['sCategory']));
 

Shopware_Modules_Articles_GetArticleById_FilterSQL

Funktion: sGetArticleById, Zeile 2650

Definition:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Articles_GetArticleById_FilterSQL', $sql, array('subject'=>$this,'id'=>$this->sSYSTEM->_GET['sArticle'],'isBlog'=>$isBlog,'customergroup'=>$this->sSYSTEM->sUSERGROUP));
 

Shopware_Modules_Articles_GetArticleById_FilterArticle

Funktion: sGetArticleById, Zeile 2694

Definition:

 
$getArticle = Enlight()->Events()->filter('Shopware_Modules_Articles_GetArticleById_FilterArticle', $getArticle, array('subject'=>$this,'id'=>$this->sSYSTEM->_GET['sArticle'],'isBlog'=>$isBlog,'customergroup'=>$this->sSYSTEM->sUSERGROUP));
 

Shopware_Modules_Articles_GetArticleById_FilterSqlVariants

Funktion: sGetArticleById, Zeile 2883

Definition:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Articles_GetArticleById_FilterSqlVariants', $sql, array('subject'=>$this,'id'=>$this->sSYSTEM->_GET['sArticle'],'isBlog'=>$isBlog,'customergroup'=>$this->sSYSTEM->sUSERGROUP));
 

Shopware_Modules_Articles_GetArticleById_FilterVariants

Funktion: sGetArticleById, Zeile 2889

Definition:

 
$getArticleVariants = Enlight()->Events()->filter('Shopware_Modules_Articles_GetArticleById_FilterVariants', $getArticleVariants, array('subject'=>$this,'id'=>$this->sSYSTEM->_GET['sArticle'],'isBlog'=>$isBlog,'customergroup'=>$this->sSYSTEM->sUSERGROUP));
 

Shopware_Modules_Articles_GetArticleById_FilterResult

Funktion: sGetArticleById, Zeile 3265

Definition:

 
$getArticle = Enlight()->Events()->filter('Shopware_Modules_Articles_GetArticleById_FilterResult', $getArticle, array('subject'=>$this,'id'=>$this->sSYSTEM->_GET['sArticle'],'isBlog'=>$isBlog,'customergroup'=>$this->sSYSTEM->sUSERGROUP));
 

Shopware_Modules_Articles_GetPromotionById_Start

Funktion: sGetPromotionById, Zeile 3364

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Articles_GetPromotionById_Start', array('subject'=>$this,'mode'=>$mode,'category'=>$category,'value'=>$value))){
return false;
}
 

Shopware_Modules_Articles_GetPromotionById_FilterSqlRandom

Funktion: sGetPromotionById, Zeile 3391

Definition:

 
$sql = "SELECT a.id as articleID FROM s_articles a $categoryFrom WHERE a.active=1 AND a.mode = 0 $categorySQL ORDER BY rand()";
$sql = Enlight()->Events()->filter('Shopware_Modules_Articles_GetPromotionById_FilterSqlRandom', $sql, array('subject'=>$this,'mode'=>$mode,'category'=>$category,'value'=>$value));	
 

Shopware_Modules_Articles_GetPromotionById_FilterSqlNew

Funktion: sGetPromotionById, Zeile 3424

Definition:

 
$sql = "SELECT a.id as articleID FROM s_articles a $categoryFrom WHERE a.mode=0 AND a.active=1 AND datum={$results["date"]} $categorySQL $cacheSQL LIMIT $randLimit,1";
$sql = Enlight()->Events()->filter('Shopware_Modules_Articles_GetPromotionById_FilterSqlNew', $sql, array('subject'=>$this,'mode'=>$mode,'category'=>$category,'value'=>$value));		
 

Shopware_Modules_Articles_GetPromotionById_FilterSqlTop

Funktion: sGetPromotionById, Zeile 3442

Definition:

 
$sql = "
	SELECT od.articleID FROM s_order as o, s_order_details od, s_articles a $categoryFrom
	WHERE o.ordertime>DATE_SUB(NOW(),INTERVAL $promotionTime DAY) AND o.id=od.orderID AND od.modus=0 AND od.articleID=a.id AND a.active=1 $categorySQL $cacheSQL
	GROUP BY od.articleID ORDER BY COUNT(od.articleID) DESC";
 
$sql = Enlight()->Events()->filter('Shopware_Modules_Articles_GetPromotionById_FilterSqlTop', $sql, array('subject'=>$this,'mode'=>$mode,'category'=>$category,'value'=>$value));			
 

Shopware_Modules_Articles_GetPromotionById_FilterGfx

Funktion: sGetPromotionById, Zeile 3457

Definition:

 
$rs = Enlight()->Events()->filter('Shopware_Modules_Articles_GetPromotionById_FilterGfx', $rs, array('subject'=>$this,'mode'=>$mode,'category'=>$category,'value'=>$value));
 

Shopware_Modules_Articles_GetPromotionById_FilterSqlPremium

Funktion: sGetPromotionById, Zeile 3485

Definition:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Articles_GetPromotionById_FilterSqlPremium', $sql, array('subject'=>$this,'mode'=>$mode,'category'=>$category,'value'=>$value));
 

Shopware_Modules_Articles_GetPromotionById_FilterSql

Funktion: sGetPromotionById, Zeile 3553

Definition:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Articles_GetPromotionById_FilterSql', $sql, array('subject'=>$this,'mode'=>$mode,'category'=>$category,'value'=>$value));
 

Shopware_Modules_Articles_GetPromotionById_FilterResult

Funktion: sGetPromotionById, Zeile 3677

Definition:

 
$getPromotionResult = Enlight()->Events()->filter('Shopware_Modules_Articles_GetPromotionById_FilterResult', $getPromotionResult, array('subject'=>$this,'mode'=>$mode,'category'=>$category,'value'=>$value));
 

Shopware_Modules_Articles_GetArticlePictures_Start

Funktion: sGetArticlePictures, Zeile 3716

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Articles_GetArticlePictures_Start',array('subject'=>$this,'id'=>$sArticleID));
 

Shopware_Modules_Articles_GetArticlePictures_FilterResult

Funktion: sGetArticlePictures, Zeile 3795

Definition:

 
$result = Enlight()->Events()->filter('Shopware_Modules_Articles_GetArticlePictures_FilterResult', $result, array('subject'=>$this,'id'=>$sArticleID));
 

Shopware_Modules_Articles_GetPromotions_FilterSQL

Funktion: sGetPromotions, Zeile 3973

Definition:

 
$sql = "SELECT category,mode, TRIM(ordernumber) as ordernumber, link, description, link_target, img, liveshoppingID
FROM s_emarketing_promotions
WHERE category=$category AND ((TO_DAYS(valid_from) <= TO_DAYS('$sToday') AND
TO_DAYS(valid_to) >= TO_DAYS('$sToday')) OR
(valid_from='0000-00-00' AND valid_to='0000-00-00')) ORDER BY position ASC
";
$sql = Enlight()->Events()->filter('Shopware_Modules_Articles_GetPromotions_FilterSQL', $sql, array('subject'=>$this,'category'=>$category));
 

Shopware_Modules_Articles_GetPromotions_FilterResult

Funktion: sGetPromotions, Zeile 4029

Definition:

 
$promote = Enlight()->Events()->filter('Shopware_Modules_Articles_GetPromotions_FilterResult', $promote, array('subject'=>$this,'category'=>$category));
 

sAdmin.php

Shopware_Modules_Admin_Logout_Start

Funktion: sLogout, Zeile 26

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Admin_Logout_Start', array('subject'=>$this))){
return false;
}
 

Shopware_Modules_Admin_CheckTaxID_MessagesFilter

Funktion: sValidateVat, Zeile 166

Definition:

 
$messages = Enlight()->Events()->filter('Shopware_Modules_Admin_CheckTaxID_MessagesFilter', $messages, array('subject'=>$this,"post"=>$this->sSYSTEM->_POST));
 

Shopware_Modules_Admin_GetPaymentMeanById_DataFilter

Funktion: sGetPaymentMeanById, Zeile 337

Definition:

 
$data = Enlight()->Events()->filter('Shopware_Modules_Admin_GetPaymentMeanById_DataFilter', $data, array('subject'=>$this,"id"=>$id,"user"=>$user));
 

Shopware_Modules_Admin_GetPaymentMeans_DataFilter

Funktion: sGetPaymentMeanById, Zeile 433

Definition:

 
$data = Enlight()->Events()->filter('Shopware_Modules_Admin_GetPaymentMeans_DataFilter', $data, array('subject'=>$this));
 

Shopware_Modules_Admin_UpdateBilling_FilterSql

Funktion: sUpdateBilling, Zeile 553

Definition:

 
list($data,$where) = Enlight()->Events()->filter('Shopware_Modules_Admin_UpdateBilling_FilterSql', array($data,$where), array('subject'=>$this,"id"=>$this->sSYSTEM->_SESSION['sUserId'],"user"=>$userObject));
 

Shopware_Modules_Admin_UpdateShipping_FilterSql

Funktion: sUpdateShipping, Zeile 698

Definition:

 
list($data,$where) = Enlight()->Events()->filter('Shopware_Modules_Admin_UpdateShipping_FilterSql', array($data,$where), array('subject'=>$this,"id"=>$this->sSYSTEM->_SESSION['sUserId'],"user"=>$userObject));
 

Shopware_Modules_Admin_UpdatePayment_FilterSql

Funktion: sUpdatePayment, Zeile 732

Definition:

 
$sqlPayment = Enlight()->Events()->filter('Shopware_Modules_Admin_UpdatePayment_FilterSql', $sqlPayment, array('subject'=>$this,"id"=>$this->sSYSTEM->_SESSION['sUserId']));
 

Shopware_Modules_Admin_UpdateAccount_FilterPasswordSql

Funktion: sUpdateAccount, Zeile 764

Definition:

 
$sqlAccount = Enlight()->Events()->filter('Shopware_Modules_Admin_UpdateAccount_FilterPasswordSql', $sqlAccount, array('email'=>$email,'password'=>$password,'subject'=>$this,"id"=>$this->sSYSTEM->_SESSION['sUserId']));
 

Shopware_Modules_Admin_UpdateAccount_FilterEmailSql

Funktion: sUpdateAccount, Zeile 771

Definition:

 
$sqlAccount = Enlight()->Events()->filter('Shopware_Modules_Admin_UpdateAccount_FilterEmailSql', $sqlAccount, array('email'=>$email,'password'=>$password,'subject'=>$this,"id"=>$this->sSYSTEM->_SESSION['sUserId']));
 

Shopware_Modules_Admin_ValidateStep2_FilterStart

Funktion: sValidateStep2, Zeile 797

Definition:

 
list($sErrorMessages,$sErrorFlag) = Enlight()->Events()->filter('Shopware_Modules_Admin_ValidateStep2_FilterResult', array($sErrorMessages,$sErrorFlag), array('edit'=>$edit,'rules'=>$rules,'subject'=>$this,"post"=>$this->sSYSTEM->_POST));
 

Shopware_Modules_Admin_ValidateStep2_FilterResult

Funktion: sValidateStep2, Zeile 831

Definition:

 
list($sErrorMessages,$sErrorFlag) = Enlight()->Events()->filter('Shopware_Modules_Admin_ValidateStep2_FilterResult', array($sErrorMessages,$sErrorFlag), array('edit'=>$edit,'rules'=>$rules,'subject'=>$this,"post"=>$this->sSYSTEM->_POST));
 

Shopware_Modules_Admin_ValidateStep2Shipping_FilterResult

Funktion: sValidateStep2ShippingAddress, Zeile 885

Definition:

 
list($sErrorMessages,$sErrorFlag) = Enlight()->Events()->filter('Shopware_Modules_Admin_ValidateStep2Shipping_FilterResult', array($sErrorMessages,$sErrorFlag), array('edit'=>$edit,'rules'=>$rules,'subject'=>$this,"post"=>$this->sSYSTEM->_POST));
 

Shopware_Modules_Admin_ValidateStep1_FilterResult

Funktion: sValidateStep1, Zeile 984

Definition:

 
list($sErrorMessages,$sErrorFlag) = Enlight()->Events()->filter('Shopware_Modules_Admin_ValidateStep1_FilterResult', array($sErrorMessages,$sErrorFlag), array('edit'=>$edit,'subject'=>$this,"post"=>$this->sSYSTEM->_POST));
 

Shopware_Modules_Admin_Login_Start

Funktion: sLogin, Zeile 996

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Admin_Login_Start', array('subject'=>$this,"ignoreAccountMode"=>$ignoreAccountMode,"post"=>$this->sSYSTEM->_POST))){
	return false;
}
 

Shopware_Modules_Admin_Login_Successful

Funktion: sLogin, Zeile 1032

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Admin_Login_Successful', array('subject'=>$this,'email'=>$email,'password'=>$password,'user'=>$getUser));
 

Shopware_Modules_Admin_Login_Failure

Funktion: sLogin, Zeile 1048

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Admin_Login_Failure', array('subject'=>$this,'email'=>$email,'password'=>$password,'error'=>$sErrorMessages));
 

Shopware_Modules_Admin_Login_FilterResult

Funktion: sLogin, Zeile 1056

Definition:

 
list($sErrorMessages,$sErrorFlag) = Enlight()->Events()->filter('Shopware_Modules_Admin_Login_FilterResult', array($sErrorMessages,$sErrorFlag), array('subject'=>$this,'email'=>$email,'password'=>$password,'error'=>$sErrorMessages));
 

Shopware_Modules_Admin_CheckUser_Start

Funktion: sCheckUser, Zeile 1056

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Admin_CheckUser_Start', array('subject'=>$this))){
return false;
}
 

Shopware_Modules_Admin_CheckUser_FilterGetUser

Funktion: sCheckUser, Zeile 1090

Definition:

 
$getUser = Enlight()->Events()->filter('Shopware_Modules_Admin_CheckUser_FilterGetUser', $getUser, array('subject'=>$this,'sql'=>$sql,'session'=>$this->sSYSTEM->_SESSION));	
 

Shopware_Modules_Admin_CheckUser_Successful

Funktion: sCheckUser, Zeile 1120

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Admin_CheckUser_Successful', array('subject'=>$this,'session'=>$this->sSYSTEM->_SESSION,'user'=>$getUser));
 

Shopware_Modules_Admin_CheckUser_Failure

Funktion: sCheckUser, Zeile 1127

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Admin_CheckUser_Failure', array('subject'=>$this,'session'=>$this->sSYSTEM->_SESSION,'user'=>$getUser));
 

Shopware_Modules_Admin_GetCountries_FilterResult

Funktion: sGetCountries, Zeile 1265

Definition:

 
$getCountries = Enlight()->Events()->filter('Shopware_Modules_Admin_GetCountries_FilterResult', $getCountries, array('subject'=>$this));
 

Shopware_Modules_Admin_SaveRegisterMainData_FilterSql

Funktion: sSaveRegisterMainData, Zeile 1322

Definition:

 
list($sql,$data) = Enlight()->Events()->filter('Shopware_Modules_Admin_SaveRegisterMainData_FilterSql', array($sql,$data), array('subject'=>$this));
 

Shopware_Modules_Admin_SaveRegisterMainData_Return

Funktion: sSaveRegisterMainData, Zeile 1325

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Admin_SaveRegisterMainData_Return', array('subject'=>$this,'insertObject'=>$saveUserData));
 

Shopware_Modules_Admin_SaveRegisterBilling_FilterSql

Funktion: sSaveRegisterBilling, Zeile 1404

Definition:

 
list($sqlBilling,$data) = Enlight()->Events()->filter('Shopware_Modules_Admin_SaveRegisterBilling_FilterSql', array($sqlBilling,$data), array('subject'=>$this));
 

Shopware_Modules_Admin_SaveRegisterBilling_Return

Funktion: sSaveRegisterBilling, Zeile 1407

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Admin_SaveRegisterBilling_Return', array('subject'=>$this,'insertObject'=>$saveUserData));
 

Shopware_Modules_Admin_SaveRegisterShipping_FilterSql

Funktion: sSaveRegisterShipping, Zeile 1442

Definition:

 
$sqlShipping = Enlight()->Events()->filter('Shopware_Modules_Admin_SaveRegisterShipping_FilterSql', $sqlShipping, array('subject'=>$this,'user'=>$userObject,'id'=>$userID));
 

Shopware_Modules_Admin_SaveRegisterShipping_Return

Funktion: sSaveRegisterShipping, Zeile 1447

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Admin_SaveRegisterShipping_Return', array('subject'=>$this,'insertObject'=>$saveUserData));
 

Shopware_Modules_Admin_SaveRegisterSendConfirmation_Start

Funktion: sSaveRegisterSendConfirmation, Zeile 1460

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Admin_SaveRegisterSendConfirmation_Start', array('subject'=>$this,'email'=>$email))){
return false;
}
 

Shopware_Modules_Admin_SaveRegisterSendConfirmation_BeforeSend

Funktion: sSaveRegisterSendConfirmation, Zeile 1517

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Admin_SaveRegisterSendConfirmation_BeforeSend', array('subject'=>$this,'mail'=>$mail));
 

Shopware_Modules_Admin_SaveRegister_Start

Funktion: sSaveRegister, Zeile 1528

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Admin_SaveRegister_Start', array('subject'=>$this))){
	return false;
}
 

Shopware_Modules_Admin_SaveRegister_FilterNeededFields

Funktion: sSaveRegister, Zeile 1538

Definition:

 
$neededFields = Enlight()->Events()->filter('Shopware_Modules_Admin_SaveRegister_FilterNeededFields', $neededFields, array('subject'=>$this));
 

Shopware_Modules_Admin_SaveRegister_FilterErrors

Funktion: sSaveRegister, Zeile 1558

Definition:

 
$errorFields = Enlight()->Events()->filter('Shopware_Modules_Admin_SaveRegister_FilterErrors', $errorFields, array('subject'=>$this));
 

Shopware_Modules_Admin_SaveRegister_GetCustomerNumber

Funktion: sSaveRegister, Zeile 1595

Definition:

 
if (!Enlight()->Events()->notifyUntil('Shopware_Modules_Admin_SaveRegister_GetCustomerNumber', array('subject'=>$this,'id'=>$userId))){
	$sql = "UPDATE `s_order_number`,`s_user_billingaddress`  SET `s_order_number`.`number`=`s_order_number`.`number`+1, `s_user_billingaddress`.`customernumber`=`s_order_number`.`number`+1 WHERE `s_order_number`.`name` ='user' AND `s_user_billingaddress`.`userID`=?";
	$this->sSYSTEM->sDB_CONNECTION->Execute($sql,array($userId));
}
 

Shopware_Modules_Admin_GetDownloads_FilterResult

Funktion: sGetDownloads, Zeile 1722

Definition:

 
$getOrders = Enlight()->Events()->filter('Shopware_Modules_Admin_GetDownloads_FilterResult', $getOrders, array('subject'=>$this,'id'=>$this->sSYSTEM->_SESSION["sUserId"]));
 

Shopware_Modules_Admin_GetOpenOrderData_FilterResult

Funktion: sGetOpenOrderData, Zeile 1788

Definition:

 
$getOrders = Enlight()->Events()->filter('Shopware_Modules_Admin_GetOpenOrderData_FilterResult', $getOrders, array('subject'=>$this,'id'=>$this->sSYSTEM->_SESSION["sUserId"],'subshopID'=>$this->sSYSTEM->sSubShop["id"]));
 

Shopware_Modules_Admin_GetUserData_Start

Funktion: sGetUserData, Zeile 1839

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Admin_GetUserData_Start', array('subject'=>$this))){
	return false;
}
 

Shopware_Modules_Admin_GetUserData_FilterResult

Funktion: sGetUserData, Zeile 1937

Definition:

 
$userData = Enlight()->Events()->filter('Shopware_Modules_Admin_GetUserData_FilterResult', $userData, array('subject'=>$this,'id'=>$this->sSYSTEM->_SESSION["sUserId"]));
 

sBasket.php

Shopware_Modules_Basket_AddVoucher_Start

Funktion: sAddVoucher, Zeile 326

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Basket_AddVoucher_Start', array('subject'=>$this,'code'=>$sTicket,"basket"=>$BASKET))){
return false;
}
 

Shopware_Modules_Basket_AddVoucher_FilterSql

Funktion: sAddVoucher, Zeile 525

Definition:

 
$sql = "
INSERT INTO s_order_basket (sessionID, articlename, articleID, ordernumber, shippingfree, quantity, price, netprice, datum, modus, currencyFactor)
VALUES ('".$this->sSYSTEM->sSESSION_ID."','".$vouchername."',{$ticketResult["id"]},'{$ticketResult["ordercode"]}',$shippingfree,1,{$ticketResult["value"]},$tax,'$timeInsert',2,".$this->sSYSTEM->sCurrency["factor"].")
";
$sql = Enlight()->Events()->filter('Shopware_Modules_Basket_AddVoucher_FilterSql',$sql, array('subject'=>$this,"voucher"=>$ticketResult,"name"=>$vouchername,"shippingfree"=>$shippingfree,"tax"=>$tax));
 

Shopware_Modules_Basket_GetBasket_FilterSQL

Funktion: sGetBasket, Zeile 822

Definition:

 
$sql = "
SELECT s_order_basket.*, a.packunit, minpurchase,taxID,IF (ad.instock,ad.instock,av.instock) AS `instock`,suppliernumber,maxpurchase,purchasesteps,purchaseunit,unitID,laststock,shippingtime,releasedate,releasedate AS sReleaseDate,stockmin,esd, su.description AS itemUnit, ob_attr1,ob_attr2,ob_attr3,ob_attr4,ob_attr5,ob_attr6 FROM 
	s_order_basket
LEFT JOIN s_articles_details AS ad ON ad.ordernumber = s_order_basket.ordernumber
LEFT JOIN s_articles_groups_value AS av ON av.ordernumber = s_order_basket.ordernumber
LEFT JOIN s_articles a ON (a.id = ad.articleID OR a.id = av.articleID)
LEFT JOIN s_core_units su ON su.id = a.unitID
WHERE sessionID=?
ORDER BY id ASC, datum DESC
";
$sql = Enlight()->Events()->filter('Shopware_Modules_Basket_GetBasket_FilterSQL', $sql, array('subject'=>$this));
 

Shopware_Modules_Basket_GetBasket_FilterItemStart

Funktion: sGetBasket, Zeile 833

Definition:

 
foreach ($getArticles as $key => $value){
$getArticles[$key] = Enlight()->Events()->filter('Shopware_Modules_Basket_GetBasket_FilterItemStart', $getArticles[$key], array('subject'=>$this,'getArticles'=>$getArticles));
// ...	
 

Shopware_Modules_Basket_GetBasket_FilterItemEnd

Funktion: sGetBasket, Zeile 1031

Definition:

 
// ....
$getArticles[$key] = Enlight()->Events()->filter('Shopware_Modules_Basket_GetBasket_FilterItemEnd', $getArticles[$key], array('subject'=>$this,'getArticles'=>$getArticles));
// ...
 

Shopware_Modules_Basket_GetBasket_FilterResult

Funktion: sGetBasket, Zeile 1084

Definition:

 
$result = Enlight()->Events()->filter('Shopware_Modules_Basket_GetBasket_FilterResult', $result, array('subject'=>$this));
 

Shopware_Modules_Basket_UpdateArticle_Start

Funktion: sUpdateArticle, Zeile 1189

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Basket_UpdateArticle_Start', array('subject'=>$this,'id'=>$id,"quantity"=>$quantity))){
return false;
}
 

Shopware_Modules_Basket_UpdateArticle_FilterSqlDefault

Funktion: sUpdateArticle, Zeile 1449

Definition:

 
$sql = "
UPDATE s_order_basket SET $sqlLive quantity=$quantity, price=$brutto, netprice=$netprice, currencyFactor=".$this->sSYSTEM->sCurrency["factor"]." WHERE id=$id AND
sessionID='".$this->sSYSTEM->sSESSION_ID."' AND modus=0
";
$sql = Enlight()->Events()->filter('Shopware_Modules_Basket_UpdateArticle_FilterSqlDefault',$sql, array('subject'=>$this,'id'=>$id,"quantity"=>$quantity,"price"=>$brutto,"netprice"=>$netprice,"currencyFactor"=>$this->sSYSTEM->sCurrency["factor"]));
 

Shopware_Modules_Basket_UpdateArticle_FilterSqlConfigurator

Funktion: sUpdateArticle, Zeile 1565

Definition:

 
$sql = "
UPDATE s_order_basket SET $sqlLive quantity=$quantity,price=$brutto, netprice=$netprice, currencyFactor=".$this->sSYSTEM->sCurrency["factor"]." WHERE id=$id AND
sessionID='".$this->sSYSTEM->sSESSION_ID."' AND modus=0
";
$sql = Enlight()->Events()->filter('Shopware_Modules_Basket_UpdateArticle_FilterSqlConfigurator',$sql, array('subject'=>$this,'id'=>$id,"quantity"=>$quantity,"price"=>$brutto,"netprice"=>$netprice,"currencyFactor"=>$this->sSYSTEM->sCurrency["factor"]));
 

Shopware_Modules_Basket_AddArticle_Start

Funktion: sAddArticle, Zeile 1682

Definition:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Basket_AddArticle_Start', array('subject'=>$this,'id'=>$id,"quantity"=>$quantity))){
	return false;
}
 

Shopware_Modules_Basket_AddArticle_FilterSql

Funktion: sAddArticle, Zeile 2017

Definition:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Basket_AddArticle_FilterSql',$sql, array('subject'=>$this,"article"=>$getArticle,"price"=>$getPrice,"esd"=>$sEsd,"quantity"=>$quantity,"partner"=>$this->sSYSTEM->_SESSION["sPartner"]));
 

sOrder.php

Shopware_Modules_Order_GetOrdernumber_FilterOrdernumber

Funktion: sGetOrderNumber, Zeile 135

Definition:

 
$ordernumber = Enlight()->Events()->filter('Shopware_Modules_Order_GetOrdernumber_FilterOrdernumber', $ordernumber, array('subject'=>$this));
 

Shopware_Modules_Order_SaveOrder_FilterSQL

Funktion: sSaveOrder, Zeile 551

Definition:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Order_SaveOrder_FilterSQL', $sql, array('subject'=>$this));
 

Shopware_Modules_Order_SaveOrder_FilterDetailsSQL

Funktion: sSaveOrder, Zeile 670

Definition:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Order_SaveOrder_FilterDetailsSQL', $sql, array('subject'=>$this,'row'=>$basketRow,'user'=>$this->sUserData,'order'=>array("id"=>$orderID,"number"=>$orderNumber)));
 

Shopware_Modules_Order_SaveOrder_ProcessDetails

Funktion: sSaveOrder, Zeile 747

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Order_SaveOrder_ProcessDetails', array('subject'=>$this,'details'=>$this->sBasketData["content"]));
 

Shopware_Modules_Order_SendMail_FilterVariables

Funktion: sendMail, Zeile 873

Definition:

 
$variables = Enlight()->Events()->filter('Shopware_Modules_Order_SendMail_FilterVariables', $variables, array('subject'=>$this));
 

Shopware_Modules_Order_SendMail_BeforeSend

Funktion: sendMail, Zeile 953

Definition:

 
Enlight()->Events()->notify('Shopware_Modules_Order_SendMail_BeforeSend', array('subject'=>$this, 'mail'=>$mail));
 

Shopware_Modules_Order_SaveBilling_FilterSQL

Funktion: sSaveBillingAddress, Zeile 1014

Definition:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Order_SaveBilling_FilterSQL', $sql, array('subject'=>$this,'address'=>$address,'id'=>$id));
 

Shopware_Modules_Order_SaveBilling_FilterSQL

Funktion: sSaveBillingAddress, Zeile 1038

Definition:

 
$array = Enlight()->Events()->filter('Shopware_Modules_Order_SaveBilling_FilterArray', $array, array('subject'=>$this,'address'=>$address,'id'=>$id));
 

Shopware_Modules_Order_SaveBilling_FilterSQL

Funktion: sSaveShippingAddress, Zeile 1091

Definition:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Order_SaveShipping_FilterSQL', $sql, array('subject'=>$this,'address'=>$address,'id'=>$id));
 

Shopware_Modules_Order_SaveShipping_FilterArray

Funktion: sSaveShippingAddress, Zeile 1112

Definition:

 
$array = Enlight()->Events()->filter('Shopware_Modules_Order_SaveShipping_FilterArray', $array, array('subject'=>$this,'address'=>$address,'id'=>$id));
 

/Controllers/Frontend/Register.php

Shopware_Controllers_Frontend_Register_validatePersonal_FilterRules

Funktion: validatePersonal, Zeile 336

Definition:

 
$rules = array(
			'customer_type'=>array('required'=>0),
			'salutation'=>array('required'=>1),
			//'company'=>array('addicted'=>array('salutation'=>'company'),'required'=>1),
			'firstname'=>array('required'=>1),
			'lastname'=>array('required'=>1),
			//'street'=>array('required'=>1),
			//'streetnumber'=>array('required'=>1),
			//'zipcode'=>array('required'=>1),
			//'city'=>array('required'=>1),
			'phone'=>array('required'=>1),
			//'country'=>array('required'=>1),
			//'department'=>array('required'=>0),
			'fax'=>array('required'=>0),
			//'shippingAddress'=>array('required'=>0),
			//'ustid'=>array('required'=>0),
			'text1'=>array('required'=>0),
			'text2'=>array('required'=>0),
			'text3'=>array('required'=>0),
			'text4'=>array('required'=>0),
			'text5'=>array('required'=>0),
			'text6'=>array('required'=>0),
			'sValidation'=>array('required'=>0),
			'birthyear'=>array('required'=>0),
			'birthmonth'=>array('required'=>0),
			'birthday'=>array('required'=>0),
			'dpacheckbox'=>array('required'=>(Shopware()->Config()->get('ACTDPRCHECK'))?1:0)
);
$rules = Enlight()->Events()->filter('Shopware_Controllers_Frontend_Register_validatePersonal_FilterRules', $rules, array('subject'=>$this));
 

Shopware_Controllers_Frontend_Register_validateBilling_FilterRules

Funktion: validateBilling, Zeile 383

Definition:

 
$rules = array(
			//'salutation'=>array('required'=>1),
			'company'=>array('required'=>0),
			//'firstname'=>array('required'=>1),
			//'lastname'=>array('required'=>1),
			'street'=>array('required'=>1),
			'streetnumber'=>array('required'=>1),
			'zipcode'=>array('required'=>1),
			'city'=>array('required'=>1),
			//'phone'=>array('required'=>1),
			'country'=>array('required'=>1),
			'department'=>array('required'=>0),
			//'fax'=>array('required'=>0),
			'shippingAddress'=>array('required'=>0),
			//'ustid'=>array('required'=>0),
			//'text1'=>array('required'=>0),
			//'text2'=>array('required'=>0),
			//'text3'=>array('required'=>0),
			//'text4'=>array('required'=>0),
			//'text5'=>array('required'=>0),
			//'text6'=>array('required'=>0),
			//'sValidation'=>array('required'=>0),
			//'birthyear'=>array('required'=>0),
			//'birthmonth'=>array('required'=>0),
			//'birthday'=>array('required'=>0),
			//'dpacheckbox'=>array('required'=>Shopware()->Config()->get('sACTDPRCHECK'))?1:0
);
$rules = Enlight()->Events()->filter('Shopware_Controllers_Frontend_Register_validateBilling_FilterRules', $rules, array('subject'=>$this));
 

Shopware_Controllers_Frontend_Register_validateShipping_FilterRules

Funktion: validateShipping, Zeile 396

Definition:

 
$rules = array(
			'salutation'=>array('required'=>1),
			'company'=>array('required'=>0),
			'firstname'=>array('required'=>1),
			'lastname'=>array('required'=>1),
			'street'=>array('required'=>1),
			'streetnumber'=>array('required'=>1),
			'zipcode'=>array('required'=>1),
			'city'=>array('required'=>1),
			'department'=>array('required'=>0),
			'text1'=>array('required'=>0),
			'text2'=>array('required'=>0),
			'text3'=>array('required'=>0),
			'text4'=>array('required'=>0),
			'text5'=>array('required'=>0),
			'text6'=>array('required'=>0),
			'country'=>array('required'=>(Shopware()->Config()->get('sCOUNTRYSHIPPING'))?1:0)
		);
$rules = Enlight()->Events()->filter('Shopware_Controllers_Frontend_Register_validateShipping_FilterRules', $rules, array('subject'=>$this));
 

Event Typen

Shopware unterscheidet zwischen 3 Event-Arten:

Notify

Der Notify-Event informiert alle Plugins, die sich für das spezifische Event registriert haben. Eine weitergehende Verarbeitung findet nicht statt!

Beispiel für Erstellung:

 
Enlight()->Events()->notify('Shopware_Modules_Articles_GetArticlePictures_Start',array('subject'=>$this,'id'=>$sArticleID));
 

  • Parameter 1 = Name des Events
  • Parameter 2 = Event Parameter (Array)

Beispiel für Registrierung Listener:

 
$event = $this->createEvent(
'Shopware_Modules_Articles_GetArticlePictures_Start',
'onPicturesStart'
);
$this->subscribeEvent($event);
 

  • Parameter 1 = Name des Events
  • Parameter 2 = Name der lokalen Methode, die mit dem Event verknüpft werden soll

Notify-Until

Das Until-Event wird so lange ausgeführt, bis eine der registerierten Methoden "true" zurückgibt.

Beispiel für Erstellung:

 
if (Enlight()->Events()->notifyUntil('Shopware_Modules_Articles_sGetArticlesByCategory_Start', array('subject'=>$this,'id'=>$id,'blog'=>$blog,'limit'=>$limit))){
	return false;
}
 

  • Parameter 1 = Name des Events
  • Parameter 2 = Event Parameter (Array)

Beispiel für Registrierung Listener:

 
$event = $this->createEvent(
'Shopware_Modules_Articles_GetArticlePictures_Start',
'onPicturesStart'
);
$this->subscribeEvent($event);
 

  • Parameter 1 = Name des Events
  • Parameter 2 = Name der lokalen Methode, die mit dem Event verknüpft werden soll

Notify-Filter

Das Filter-Event kann zur Manipulation von Daten und Rückgabewerten verwendet werden. Zum Beispiel um eine SQL-Abfrage zu modifizieren.

Beispiel für Erstellung:

 
$sql = Enlight()->Events()->filter('Shopware_Modules_Articles_sGetArticlesByCategory_FilterSql', $sql, array('subject'=>$this,'id'=>$this->sSYSTEM->_GET['sCategory']));
 

  • Parameter 1 = Name des Events
  • Parameter 2 = Variable die modifiziert werden soll
  • Parameter 3 = Event Parameter (Array)

Beispiel für Registrierung Listener:

 
$event = $this->createEvent(
'Shopware_Modules_Articles_GetArticlePictures_Start',
'onPicturesStart'
);
$this->subscribeEvent($event);
 

  • Parameter 1 = Name des Events
  • Parameter 2 = Name der lokalen Methode, die mit dem Event verknüpft werden soll

Bei Notify-Filter Methoden, muss die Rückgabe über

return $returning

gesetzt werden und nicht mit $args->setReturn();

Event Listener Methoden Argumente

Jede Listener-Methode muss als statische, öffentlich verfügbare Methode deklariert werden und einen Parameter vom Typ "Enlight_Event_EventArgs" akzeptieren.

Beispiel für Funktionsrumpf:

 
public static function onGetControllerPathBackend(Enlight_Event_EventArgs $args)
{
 
}
 

Methoden des Argument-Objekts:

  • Args->stop()
  • Args->setProcessed()
  • Args->isProcessed()
  • Args->setName()
  • Args->getName()
  • Args->setReturn()
  • Args->getReturn()
  • Args->getSubject()

Unterschied Events / Hooks

Neben der Event gesteuerten Programmierung, besteht auch die Möglichkeit Core-Funktionen direkt zu modifizieren. Hierzu können die Funktionen über so genannte Hooks überlagert werden. Im Unterschied zum Event-System, welches die Modifizierung nur an definierten Stellen erlaubt, ermöglichen Hooks die übergreifende Veränderung von Core-Funktionalität!

Event-Vorschläge

Falls Ihnen bei der Entwicklung Events fehlen, zögern Sie nicht uns darüber im Forum oder per eMail zu informieren. Wir prüfen jeden Vorschlag und nehmen die neuen Events ggf. in einem zukünftigen Release auf!

Artikel-PDF erstellen

Artikel bewerten

Waren diese Informationen hilfreich? Ja Nein


Kommentare:

Artikel kommentieren


Die mit einem * markierten Felder sind Pflichtfelder.

Weitere interessante Artikel:

Bezeichnung:
Rating:
Klicks:
Datum:

Bestell-Nr.: SW1476

Lieferzeit ca. 5 Tage

€ 1,00

Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*

€ 1,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*

Kategorien: