Quantcast
Channel: Programming - Shopware Community Forum
Viewing all articles
Browse latest Browse all 42

Login via Kundennummer und Passwort

$
0
0
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:
//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->_POST
wollte 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?

Viewing all articles
Browse latest Browse all 42

Trending Articles



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