Joomla 3.x联系表格 - 自动电子邮件编辑

时间:2018-03-12 19:15:56

标签: javascript forms joomla contact

请注意我对JavaScript不是很熟悉,我这样做是为了帮助同事。

我正在尝试对联系表单自动发送电子邮件回复进行编辑。我想要做的更改是,当某人向网站上的某人发送电子邮件时,会将回复发送给该人,并说明该信息。这是您通过网站名称发送给网站人员的以下信息的副本。 #34;接收电子邮件的人只会获得发送电子邮件的人的姓名和消息。

我需要添加"这是您通过网站名称发送给网站人员的以下消息的副本"发送给其他电子邮件的消息,因为有人正在接收所有电子邮件并将其发送给相应的人。我知道,这听起来不合理,但它已经被要求了。

我在contact.php中找到了代码,但我不完全确定如何进行更改。

这是代码获取我需要的部分的地方:

    // Check whether email copy function activated
        if ($copy_email_activated == true && !empty($data['contact_email_copy']))
        {
            $copytext    = JText::sprintf('COM_CONTACT_COPYTEXT_OF', $contact->name, $sitename);
            $copytext    .= "\r\n\r\n" . $body;
            $copysubject = JText::sprintf('COM_CONTACT_COPYSUBJECT_OF', $subject);

            $mail = JFactory::getMailer();
            $mail->addRecipient($email);
            $mail->addReplyTo($email, $name);
            $mail->setSender(array($mailfrom, $fromname));
            $mail->setSubject($copysubject);
            $mail->setBody($copytext);
            $sent = $mail->Send();
        }

        return $sent;
    }
}

我需要以上工作

// Prepare email body
    $prefix = JText::sprintf('COM_CONTACT_ENQUIRY_TEXT', JUri::base());
    $body   = $prefix . "\n" . $name . ' <' . $email . '>' . "\r\n\r\n" . stripslashes($body);

    // Load the custom fields
    if (!empty($data['com_fields']) && $fields = FieldsHelper::getFields('com_contact.mail', $contact->email_to, true, $data['com_fields']))
    {
        $output = FieldsHelper::render(
            'com_contact.mail',
            'fields.render',
            array(
                'context' => 'com_contact.mail',
                'item'    => $contact,
                'fields'  => $fields,
            )
        );

        if ($output)
        {
            $body .= "\r\n\r\n" . $output;
        }
    }

    $mail = JFactory::getMailer();
    $mail->addRecipient($contact->email_to);
    $mail->addReplyTo($email, $name);
    $mail->setSender(array($mailfrom, $fromname));
    $mail->setSubject($sitename . ': ' . $subject);
    $mail->setBody($body);
    $sent = $mail->Send();

我认为这就像复制一些代码一样简单,但我错了。我知道在Joomla中存在覆盖,以防止核心代码被触及。一旦我弄明白,我就可以执行覆盖以正确添加我的更改。

提前谢谢!

1 个答案:

答案 0 :(得分:-1)

抱歉,我使用手机很难检查

// Check whether email copy function activated if ($copy_email_activated == true && !empty($data['contact_email_copy'])) { $copytext = JText::sprintf('COM_CONTACT_COPYTEXT_OF', $contact->name, $sitename); $copytext .= "\r\n\r\n" . $body; $copysubject = JText::sprintf('COM_CONTACT_COPYSUBJECT_OF', $subject); 

//加载自定义字段if(!empty($ data [&#39; com_fields&#39;])&amp;&amp; $ fields = FieldsHelper :: getFields(&#39; com_contact.mail&#39;, $ contact-&gt; email_to,true,$ data [&#39; com_fields&#39;])){$ output = FieldsHelper :: render(&#39; com_contact.mail&#39;,&#39; fields.render& #39;,数组(&#39; context&#39; =&gt;&#39; com_contact.mail&#39;,&#39; item&#39; =&gt; $ contact,&#39; fields&#39; =&gt; $ fields,)); if($ output){$ copytext。=&#34; \ r \ n \ r \ n&#34; 。 $输出; }}

$ mail = JFactory :: getMailer(); $ MAIL-&GT; addRecipient($电子邮件); $ mail-&gt; addReplyTo($ email,$ name); $ mail-&gt; setSender(array($ mailfrom,$ fromname)); $ MAIL-&GT; SETSUBJECT($ copysubject); $ MAIL-&GT; setBody($的copytext); $ sent = $ mail-&gt; Send(); } return $ sent; }}