Ich wollte zusätzlich den Login über Kundennummer und Passwort in meinem Shop ermöglichen. Dazu habe ich in einem Plugin folgende Methoden hinzugefügt. Vielleicht sucht jemand mal nach soetwas:
in der install-Methode:
Viele Grüße
===
EDIT:
Achja, statt
Jedoch klappt das in diesem Kontext nicht:
Fatal error: Call to undefined method Shopware_Proxies_sAdminProxy::Request()
Denkfehler?
in der install-Methode:
//Creating hook for login $event = $this->createHook( 'sAdmin', 'sLogin', 'onLogin', Enlight_Hook_HookHandler::TypeBefore, 0 ); $this->subscribeHook($event);die Methode an sich:
public static function onLogin(Enlight_Hook_HookArgs $args) { $form_data = &$args->getSubject()->sSYSTEM->_POST; if (!preg_match('/@/', $form_data['email'])) { $data = Shopware()->Db()->fetchAll("SELECT ub.userID, u.email FROM s_user_billingaddress ub LEFT JOIN s_user u ON ub.userID = u.id WHERE customernumber = ?", array($form_data['email']) ); //Kundennummer müssen unique sein if (count($data) == 1) { $form_data['email'] = $data[0]['email']; } } }Ob es sich um eine Kundennummer oder E-Mail-Adresse handelt wird nur sehr einfach (über das @) überprüft. Sollte jedoch an dieser Stelle ausreichen.
Viele Grüße
===
EDIT:
Achja, statt
$args->getSubject()->sSYSTEM->_POSTwollte ich eigentlich das neuere
$args->getSubject()->Request()verwenden.
Jedoch klappt das in diesem Kontext nicht:
Fatal error: Call to undefined method Shopware_Proxies_sAdminProxy::Request()
Denkfehler?