Bij de update naar Magento 1.6.2 ben ik de error Magento Call to a member function setCustomerId() on a non-object in Mage/Customer/controllers/AccountController.php on line 587 tegengekomen. Als je je wachtwoord bent vergeten, kan je op een link klikken in je customeraccount om een nieuw waachtwoord aan te vragen. Zodra je op de link in de toegezonden e-mail klikt, krijg een de bovenstaande error op een witte pagina voor je neus. Waarschijnlijk heb je een stuk algemene code overgezet naar local. De oplossing is het toevoegen van een stuk code in app/design/frontend/<jouw_template>/<jouw_template_name>/layout/customer.xml
en wel dit:
<customer_account_resetpassword translate="label"> <label>Reset a Password</label> <remove name="right"/> <remove name="left"/> <reference name="head"> <action method="setTitle" translate="title" module="customer"> <title>Reset a Password</title> </action> </reference> <reference name="root"> <action method="setTemplate"> <template>page/1column.phtml</template> </action> <action method="setHeaderTitle" translate="title" module="customer"> <title>Reset a Password</title> </action> </reference> <reference name="content"> <block type="customer/account_resetpassword" name="resetPassword" template="customer/form/resetforgottenpassword.phtml"/> </reference> </customer_account_resetpassword>
Klaar.