【问题标题】:Magento change email address of formMagento 更改表单的电子邮件地址
【发布时间】:2013-08-13 02:57:30
【问题描述】:

几天前我买了一个基于 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('*/*/');
        }
    }

【问题讨论】:

    标签: php magento magento-1.7


    【解决方案1】:

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

    编辑

    您要更改的行是

    Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT),
    

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

    【讨论】:

    • 谢谢,用 serviceAction 功能更新了帖子,但我仍然看不到编辑电子邮件的方法。
    • 好的,但我现在只得到 4 个参数,但原来有更多的 12 个。
    • 我用萤火虫检查了所有参数的实际帖子。
    • 参数作为表单字段,还是其他?查看您使用的电子邮件模板以了解其设置方式,并确保其正确获取帖子字段。默认电子邮件联系人模板可以在系统 -> 交易电子邮件下找到。如果您没有看到联系表格,请点击添加模板 -> 联系表格 -> 加载模板,然后您可以添加其余数据。
    【解决方案2】:

    您应该可以在管理面板中的系统->配置->常规->存储电子邮件地址中更改地址

    【讨论】:

    • 谢谢,但我目前的清单是空的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多