Hallo liebe Leute,
ich würd gern neue Registrierungen von Kunden standardmässig nicht aktivieren um diese später manuell im Backend zu aktivieren.
Hab mir gedacht ich ändere dies einfach mit Hilfe des Filter Events Shopware_Modules_Admin_SaveRegisterMainDataAttributes_FilterSql direkt im SQL Statement.
Hier der Listener:
public function onSaveRegisterMainData_Filter(Enlight_Event_EventArgs $arguments){
$return = $arguments->getReturn();
$return[0] = '
INSERT INTO s_user
(
password, email, paymentID, active, accountmode,
validation, firstlogin, sessionID, affiliate, customergroup,
language, subshopID, referer, encoder
)
VALUES (?,?,?,0,?,?,NOW(),?,?,?,?,?,?,?)
';
return $return;
}
Ich bekomme jetzt bei der Registrierung leider folgende Fehlermeldung:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in /html/shopware/engine/Library/Zend/Db/Statement/Pdo.php:228 Stack trace: #0 /html/shopware/engine/Library/Zend/Db/Statement/Pdo.php(228): PDOStatement->execute(Array) #1 /html/shopware/engine/Library/Zend/Db/Statement.php(303): Zend_Db_Statement_Pdo->_execute(Array) #2 /html/shopware/engine/Library/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array) #3 /html/shopware/engine/Library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('\r\n I...', Array) #4 /html/shopware/engine/Library/Enlight/Components/Db/Adapter/Pdo/Mysql.php(75): Zend_Db_Adapter_Pdo_Abstract->query('\r\n I...', Array) #5 /html/shopware/engine/Shopware/Core/sAdmin.php(1737): Enlight_Components_Db_Adapter_Pdo_Mysql->query('\r\n I...', Array) #6 /html/shopware/engine/Shopware/Core/sAdmin.php(2035): sAdmin->sSaveRegisterMainD in /html/shopware/engine/Library/Zend/Db/Statement/Pdo.php on line 234
503 Service Unavailable
Die Anzahl der Parameter sollte eigentlich stimmen, hab das Original Statement übernommen und nur aus der 1 eine 0 gemacht.
Kann mir da jemand auf die Sprünge helfen?
Vielen Dank!
Martin