Domanda

Sto cercando di creare una traduzione olandese per la Password Reset-mail di conferma.

Quello che ho provato finora:

Nella struttura delle cartelle Magento, v'è una directory contenente tutte le traduzioni e-mail olandesi: / app / locale / nl_nl / template / email / ma tutti i miei tentativi di creare un modello per la simular Password Reset-mail di conferma sono unsuccesvol.

ftp screenshot

Qualcuno ha potuto fare questo lavoro, forse per un'altra lingua? Per favore qualcuno può impostare nella giusta direzione?

È stato utile?

Soluzione

È necessario copiare /app/locale/en_US/template/email/account_password_reset_confirmation.html alla cartella nl_NL e tradurlo.

È anche possibile creare un modello nel backend di amministrazione.

Altri suggerimenti

Credo che questo sia un bug nel modulo Mage_Customer.

Nel Mage_Customer_Model_Customer::sendPasswordResetConfirmationEmail, il messaggio viene inviato nel locale del negozio che è associato all'istanza cliente chiamando $this->getStoreId(). Quando il negozio non è impostata, l'archivio predefinito per il sito web a cui il cliente è associato viene utilizzato.

Nel Mage_Customer_AccountController::forgotPasswordPostAction (l'unico luogo in cui viene utilizzato questo metodo), un'istanza cliente viene creato in base alla posta elettronica comunicato, ma il negozio è mai messo su questa istanza. Questo significa che la posta elettronica viene inviato al negozio di default del sito a cui istanza del cliente è associato.

Per risolvere questo problema, aggiungere la seguente riga appena prima della chiamata a sendPasswordResetConfirmationEmail:

$customer->setStoreId(Mage::app()->getStore()->getId());

Quando si inserisce questo in un override del Mage_Customer_AccountController originale, gli sguardi metodo come questo (Magento CE 1.9.0.1):

/**
 * Forgot customer password action
 */
public function forgotPasswordPostAction()
{
    $email = (string) $this->getRequest()->getPost('email');
    if ($email) {
        if (!Zend_Validate::is($email, 'EmailAddress')) {
            $this->_getSession()->setForgottenEmail($email);
            $this->_getSession()->addError($this->__('Invalid email address.'));
            $this->_redirect('*/*/forgotpassword');
            return;
        }

        /** @var $customer Mage_Customer_Model_Customer */
        $customer = $this->_getModel('customer/customer')
            ->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
            ->loadByEmail($email);

        if ($customer->getId()) {
            try {
                $newResetPasswordLinkToken =  $this->_getHelper('customer')->generateResetPasswordLinkToken();
                $customer->changeResetPasswordLinkToken($newResetPasswordLinkToken);
                //START Set store id to fix email locale
                $customer->setStoreId(Mage::app()->getStore()->getId());
                //END Set store id to fix email locale
                $customer->sendPasswordResetConfirmationEmail();
            } catch (Exception $exception) {
                $this->_getSession()->addError($exception->getMessage());
                $this->_redirect('*/*/forgotpassword');
                return;
            }
        }
        $this->_getSession()
            ->addSuccess( $this->_getHelper('customer')
            ->__('If there is an account associated with %s you will receive an email with a link to reset your password.',
                $this->_getHelper('customer')->escapeHtml($email)));
        $this->_redirect('*/*/');
        return;
    } else {
        $this->_getSession()->addError($this->__('Please enter your email.'));
        $this->_redirect('*/*/forgotpassword');
        return;
    }
}

Anche se creiamo una nuova email transazione per PASSWORD RESET nel backend, non esiste alcuna opzione per impostare la reimpostazione della password a quello nuovo file.

Come si fa a farlo? Non vedo alcuna opzione per la nuova registrazione e le opzioni di reimpostazione della password che cambiano.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top