0

私はmagentoを初めて使用し、メールフォーム用のモジュールを作成しようとしています。

従来のMVCでは、リクエストをコントローラーに送信しますが、Magentoでは、コントローラーは1つのURLのみを担当します。それで、メールフォームを製品ページに配置したいのですが、コントローラーを使用できませんね。

productpageのlayoutxmlを介してブロック要素を含めます。したがって、フォームを検証し、ブロック要素のクラスでメールを送信する必要がありますか?それとも、そのために1つ以上のヘルパーを作成する必要がありますか?

Magentoの方法は何ですか?

どうもありがとう。質問が足りない場合は申し訳ありませんが、私は初心者であり、正しい方法を学びたいと思っています。間違ったチュートリアルをたくさん見てきました。

4

1 に答える 1

1

フォームを送信している間、コントローラーに次のようなアクションを実行します。

<?php echo Mage::getUrl()?>bpartner/index/mailbpartner

bpartner your module name INDEX NAMEDCONTROLLERFILE
でコントローラー名
mailbpartner関数にインデックスを付けます。


POSTを介してすべての詳細を取得し、以下のようなメールを送信して、成功してリダイレクトします

$to = "abc@abc.com";
                $dt = date('d-m-Y');
                $subject = "Become A Partner Details on date $dt";
                $mail = new Zend_Mail('utf-8');
                $mail->setBodyHtml($message)
                    ->setFrom($data['email'], $data['firstname'])
                    ->addTo($to, 'Site Admin')
                    ->setSubject($subject);
                try {
                    $mail->send();
                    Mage::getSingleton('core/session')->addSuccess('Mail sent successfully. We will contact you shortly');
                }
                catch(Exception $e) {
                    Mage::getSingleton('core/session')->addError('Unable to send email.');
                }
        $this->_redirect('bpartner');

上記のデータの一部は、自己理解可能なPOSTDATAです。

于 2013-01-25T11:43:45.180 に答える