Close

13/03/2015

«Please make sure your password match» problem i Magento 1.9.1.0

Nylig har vi funnet et problem med enkelte tredjeparts moduler i forbindelse med Magento 1.9.1.0. Brukeren kan få denne feilen ved kassa eller fra «Opprett en konto link». Når en bruker registrerer, han fortsetter å få passordet mismatch feil selv om passordet blir tastet inn og re-skrevet inn riktig.

Standard Magento form validering indikerer ikke en miss-match, men når en bruker klikker på ‘Registrer’ den returnerer mismatch feil. Etter å ha sett inn i kjernen koden Magento 1.9.1.0 har vi funnet ut at

Children of class Mage_Customer_Model_Customer skal bruke getPasswordConfirmation() i steden for getConfirmation()

method validate() har blitt endret i class Mage_Customer_Model_Customer

Før 1.9.1.0

$confirmation = $this->getConfirmation();

Etter 1.9.1.0

$confirmation = $this->getPasswordConfirmation();

På grunn av denne endringen i kjernekode på Magento 1.9.1.0 har det i enkelte tredjeparts moduler som onepagecheckout oppstått et lite problem.

For å sikre at utvidelser fungerer som forventet med Magento 1.9.1.0, må vi sjekke hvilken versjon av metoden vi har i koden og om nødvending endre dette.

 
$info = Mage::getVersionInfo();
$version = "{$info['major']}.{$info['minor']}.{$info['revision']}.{$info['patch']}";
 
if($version == '1.9.1.0 '){
  $customer->setPasswordConfirmation($customerRequest->getParam('confirm_password'));
} else {
 $customer->setConfirmation($customerRequest->getParam('confirm_password'));
}

 

 

 

Paal Kristian Søberg er en erfaren rådgiver innen ehandel og har opparbeidet ekspertise på Magento som nettbutikk plattform. Her på thinkcommerce.no tilbyr han råd og trening på Magento, og han har et enormt nettverk av sertifiserte Magentouviklere.