Magento更改表单的电子邮件地址

时间:2013-08-12 18:32:29

标签: php magento magento-1.7

我几天前买了一个基于magento的网站。 页面上有一个表格website.com/service
后端的实际代码是:

{{block type="core/template" name="serviceForm" form_action="/contacts/index/service" template="contacts/form_service.phtml"}}

在前端是

<form method="post" id="contactForm" action="/contacts/index/service">

这不是一个联系表格,而是具有许多附加参数的联系表格 我想要做的是编辑表单提交的电子邮件地址。

如果表单操作是/ contacts / index / post /我可以在

编辑该文件
/app/code/core/Mage/Contacts/controllers/IndexController.php 

但是我无法找到任何可以编辑/ contacts / index / service的文件。 我认为表格正如它告诉我的那样工作

  

您的询问已提交,我们会尽快回复。感谢您与我们联系。

在表单提交后将我重定向到某个页面 所以我基本上想编辑电子邮件,需要你的帮助才能找到文件的位置。

@aynber为我找到了这个功能,但我似乎无法找到这封电子邮件。

public function serviceAction()
    {
        $post = $this->getRequest()->getPost();
        if ( $post ) {
            $translate = Mage::getSingleton('core/translate');
            /* @var $translate Mage_Core_Model_Translate */
            $translate->setTranslateInline(false);
            try {
                $postObject = new Varien_Object();
                $postObject->setData($post);

                $error = false;

                if (!Zend_Validate::is(trim($post['name']) , 'NotEmpty')) {
                    $error = true;
                }

                if (!Zend_Validate::is(trim($post['comment']) , 'NotEmpty')) {
                    $error = true;
                }

                if (!Zend_Validate::is(trim($post['email']), 'EmailAddress')) {
                    $error = true;
                }

                if (Zend_Validate::is(trim($post['hideit']), 'NotEmpty')) {
                    $error = true;
                }

                if ($error) {
                    throw new Exception();
                }
                $mailTemplate = Mage::getModel('core/email_template');
                /* @var $mailTemplate Mage_Core_Model_Email_Template */
                $mailTemplate->setDesignConfig(array('area' => 'frontend'))
                    ->setReplyTo($post['email'])
                    ->sendTransactional(
                        Mage::getStoreConfig(self::XML_PATH_EMAIL_TEMPLATE),
                        Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER),
                        Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT),
                        null,
                        array('data' => $postObject)
                    );

                if (!$mailTemplate->getSentSuccess()) {
                    throw new Exception();
                }

                $translate->setTranslateInline(true);

                Mage::getSingleton('customer/session')->addSuccess(Mage::helper('contacts')->__('Your inquiry was submitted and will be responded to as soon as possible. Thank you for contacting us.'));
                $this->_redirect('*/*/');

                return;
            } catch (Exception $e) {
                $translate->setTranslateInline(true);

                Mage::getSingleton('customer/session')->addError(Mage::helper('contacts')->__('Unable to submit your request. Please, try again later'));
                $this->_redirect('*/*/');
                return;
            }

        } else {
            $this->_redirect('*/*/');
        }
    }

2 个答案:

答案 0 :(得分:1)

它应该仍然在该文件中,它只是在IndexController.php中的function serviceAction()。如果它不存在,请查看app / code / local目录中是否有相应的IndexController.php。表格通常是从“联系人”下的“系统配置”中设置的电子邮件地址中提取的。

修改

您要更改的行是

Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT),

该地址是从系统配置中提取的。您可以对电子邮件地址进行硬编码,或将其设置为其他配置的电子邮件地址。

答案 1 :(得分:0)

您应该可以在System-&gt; Configuration-&gt; General-&gt; Store Email Adresses

中更改管理面板中的地址