1

magento1.6.1.0を使用してeコマースWebサイトを構築しています。Webサイトにアクセスする前にユーザーにログインを強制する1つの拡張機能を使用しています。すべてが順調に進んでいます。問題は、パスワードのリセットリンクを忘れた場合のみです。その拡張機能は、このパスワードリセットリンクもブロックしています。そのエクステンションチームからのサポートはありませんでした。

今日の朝、私はメールテンプレートでmagentoのデフォルトロゴを変更しました。その時、私は新しいアカウントを作成するときに、メールアドレスとパスワードの詳細を取得するというアイデアを思いつきました。パスワードリンクテンプレートをリセットする代わりに、その電子メールテンプレートを使用できないのはなぜですか?

すべての内容をからにコピーして貼り付けてみましaccount_new.htmlaccount_password_reset_confirmation.htmlapp/locale/en_US/template/email

これらの変更を行った後、emailL:xxx@mydomain.comとパスワードが記載されたメールを受け取りました。

空のパスワードフィールドとしてメールを受け取りました。

パスワードを直接送信できるように、パスワードaccount_password_reset_confirmation.htmlを忘れた場合のテンプレートをからに変更するように案内してください。account_new.html

4

1 に答える 1

0

使用する場合は、コードをデバッグすることができますか

$customer = Mage::getModel("customer/customer");
         $customer->setWebsiteId(Mage::app()->getWebsite()->getId());
         $customer->getPassword();

それはうまくいきません。パスワードはデータベースで暗号化されます。だから使いこなせない。唯一の方法は、新しいパスワードを生成してデータベースで更新し、新しいパスワードをユーザーのメールに送信することです。

カスタム パスワードを生成するサンプル コード

$alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";     //Random password generation
             $pass = array(); //remember to declare $pass as an array
             $alphaLength = strlen($alphabet) - 1; //put the length -1 in cache
             for ($i = 0; $i < 6; $i++) {
                 $n = rand(0, $alphaLength);
                 $pass[] = $alphabet[$n];
             }
             $newpassword =implode($pass);
于 2015-01-02T08:34:55.380 に答える