【问题标题】:1 email address 2 subject and 2 forms in magento1 个电子邮件地址 2 个主题和 2 个 magento 表格
【发布时间】:2023-04-05 14:42:01
【问题描述】:

我有一个为联系我们表单和自定义表单(如保修表单)设置的电子邮件地址,该表单是从联系我们表单创建的 Multiple Contact Forms on Magento.

我想将此电子邮件与变体主题分开(当从联系我们发送电子邮件时,表单主题应该是联系,当从 CUSTOM/WARRANTY 表单发送电子邮件时,电子邮件的主题应该是 WARRANTY)

对此最好的解决方案是什么?我该怎么办?

【问题讨论】:

    标签: forms magento contacts


    【解决方案1】:

    要在联系我们 Magento 中向多个收件人发送电子邮件,您可以采用这种方式。

    第一步,你可以在app/code/core/Mage/Contacts/Controllers/IndexController.php找到这一行

    $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)
                    );
    

    并修改如下:

                    $recipients = Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT);
                    if ($recipients)
                    {
                            $recipients = explode(";",$recipients);
                            if(count($recipients))
                            {
                foreach($recipients as $recipient) {
    
                $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),
                        $recipient,
                        null,
                        array('data' => $postObject)
                    );
    
                    if (!$mailTemplate->getSentSuccess()) {
                    throw new Exception();
                    }
             }
         }
    }
    

    别忘了在 app/code/core/Mage/Contacts/etc/system.xml 上评论验证 javascript

    找到这一行:

    <recipient_email translate="label">
        <label>Send Emails To</label>
        <frontend_type>text</frontend_type>
    <!--<validate>validate-email</validate>-->
        <sort_order>10</sort_order>
        <show_in_default>1</show_in_default>
        <show_in_website>1</show_in_website>
        <show_in_store>1</show_in_store>
    </recipient_email>
    

    给这行评论&lt;validate&gt;validate-email&lt;/validate&gt;

    此代码在 magento 1.7.0.2 中适用于我。我希望这对您的问题有所帮助.. :D

    不要忘记保存和清除缓存..

    【讨论】:

      【解决方案2】:

      您可以添加一个包含电子邮件主题的隐藏表单字段。

      然后进入 admin -> Transaction Email 并将模板主题更改为

      {{var data.formsubject}}

      为每个表单添加一个隐藏字段

      <input type="hidden" name="formsubject" value="Subject Here" />
      

      阅读更多@Customizing Transactional Emails

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-23
        • 2017-07-23
        • 1970-01-01
        • 2018-08-21
        相关资源
        最近更新 更多