0

我是 magento 的新手,我正在尝试为电子邮件表单创建一个模块。

在经典 MVC 中,我会将请求发送到控制器,但在 Magento 中,控制器只负责一个 URL。因此,当我想将我的电子邮件表单放在产品页面上时,我无法使用控制器,对吗?

我通过产品页面中的布局 xml 包含我的块元素。所以我必须验证我的表单并在我的块元素类中发送电子邮件?还是我必须为此编写一个或多个助手?

什么是magento方式?

非常感谢。对不起,如果我的问题很蹩脚,但我是一个初学者,我想学习正确的方法,我已经看到了很多错误的教程。

4

1 回答 1

1

就在提交表单时,向控制器提供操作,例如:

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

bpartner 您的模块名称 在 INDEX NAMED CONTROLLER FILE 中
索引您的控制器名称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');

上面的一些数据是 POST DATA,这是可以自我理解的

于 2013-01-25T11:43:45.180 回答