Перейти к содержанию

Рекомендуемые сообщения

На странице "контакты" есть форма обратной связи:

3407cee55e4e3f2805ba28e71d87c507-prev.jp

После ввода:

  • Ваше имя
  • Е-майл - для связи
  • Сообщение

+Жмём "отправить"

На почту админу приходит письмо вида:

Тема: Имя

Текст письма: сообщение (с формы обратной связи)

Возникает вопрос!

Куда же пропал E-mail - для связи?!

То есть человек обратился с проблемой указал имя, свой емейл, текст... и ждёт ответа... а админ не знает куда отвечать...

+ Возможно ли в эту форму обратной связи добавить поле: телефон

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, Lifeamove сказал:

Куда же пропал E-mail - для связи?!

 

Он в графе "От".

 

9 минут назад, Lifeamove сказал:

Возможно ли в эту форму обратной связи добавить поле: телефон

 

Возможно.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@mazein Добрый вечер.

1 минуту назад, mazein сказал:

 

Он в графе "От".

В графе от: емейл админа и приходит на емейл админа

 

1 минуту назад, mazein сказал:

Возможно.

Как ?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, Lifeamove сказал:

В графе от: емейл админа и приходит на емейл админа

 

По умолчанию письмо приходит от имени того, кто его написал, и обратный адрес берётся из формы.

Кто там у Вас напортачил, я не знаю.

 

4 минуты назад, Lifeamove сказал:

Как ?)

Аналогично другим полям. Попробуйте сделать, и задавайте конкретные вопросы.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
47 минут назад, Lifeamove сказал:

Как ?)

Вот темка есть, но там старые версии. На работе где-то было решение для 2.1, завтра посмотрю.

 

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@mazein @ibond  Доброго дня!

 

Нашёл эту форму... /catalog/view/theme/default/template/information/contact.tpl в этом файле вроде всё нормально...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Lifeamove, естественно там всё будет нормально. Смотреть надо /catalog/controller/information/contact.php

 

а именно функцию отправки письма:

			$mail = new Mail();
			$mail->protocol = $this->config->get('config_mail_protocol');
			$mail->parameter = $this->config->get('config_mail_parameter');
			$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
			$mail->smtp_username = $this->config->get('config_mail_smtp_username');
			$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
			$mail->smtp_port = $this->config->get('config_mail_smtp_port');
			$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

			$mail->setTo($this->config->get('config_email'));
			$mail->setFrom($this->request->post['email']);
			$mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));
			$mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
			$mail->setText($this->request->post['enquiry']);
			$mail->send();

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 09.04.2017 в 21:55, ibond сказал:

Вот темка есть, но там старые версии. На работе где-то было решение для 2.1, завтра посмотрю.

Нашел, но то vqmod для версии 1.5. Добавляет поля Организация и Телефон.

<?xml version="1.0" encoding="UTF-8"?>
<modification>

    <id>Adding contact form fields organization and telephone.</id>
    <version>1.0</version>
    <author>ibond</author>

    <file name="catalog/controller/information/contact.php">
        <operation>
            <search position="replace">
                <![CDATA[$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));]]></search>
            <add><![CDATA[
$mail_text =
"Организация: " . strip_tags(html_entity_decode($this->request->post['organization'], ENT_QUOTES, 'UTF-8')) . PHP_EOL .
"Телефон: " . strip_tags(html_entity_decode($this->request->post['phone'], ENT_QUOTES, 'UTF-8')) . PHP_EOL . PHP_EOL .
"Вопрос: " . strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8'));
$mail->setText($mail_text);
			]]></add>
        </operation>
        <operation>
            <search position="after">
                <![CDATA[$this->data['entry_name'] = $this->language->get('entry_name');]]></search>
            <add><![CDATA[
if (isset($this->request->post['organization'])) {
    $this->data['organization'] = $this->request->post['organization'];
} else {
    $this->data['organization'] = '';
}
$this->data['entry_organization'] = $this->language->get('entry_organization');
if (isset($this->error['organization'])) {
    $this->data['error_organization'] = $this->error['organization'];
} else {
    $this->data['error_organization'] = '';
}
if (isset($this->request->post['phone'])) {
    $this->data['phone'] = $this->request->post['phone'];
} else {
    $this->data['phone'] = '';
}
$this->data['entry_phone'] = $this->language->get('entry_phone');
if (isset($this->error['phone'])) {
    $this->data['error_phone'] = $this->error['phone'];
} else {
    $this->data['error_phone'] = '';
}
			]]></add>
        </operation>
        <operation>
            <search position="before">
                <![CDATA[if (!$this->ocstore->validate($this->request->post['email'])) {]]></search>
            <add><![CDATA[
if ((utf8_strlen($this->request->post['organization']) < 3) || (utf8_strlen($this->request->post['organization']) > 32)) {
    $this->error['organization'] = $this->language->get('error_organization');
}
if(!empty($this->request->post['phone'])){
    if(!preg_match("/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/", $this->request->post['phone'])){
        $this->error['phone'] = $this->language->get('error_phone');
    }
}
			]]></add>
        </operation>
    </file>
    <file name="catalog/language/russian/information/contact.php">
        <operation>
            <search position="after">
                <![CDATA[$_['entry_name']     = 'Ваше имя:';]]></search>
            <add><![CDATA[
$_['entry_organization'] = 'Ваша организация:';
$_['error_organization'] = 'В организации должено быть от 3 до 32 символов !';
$_['entry_phone'] = 'Ваш телефон:';
$_['error_phone'] = 'Телефон должен быть от 7 до 12 цифр!';
			]]></add>
        </operation>
    </file>

    <file name="catalog/view/theme/*/template/information/contact.tpl">
        <operation>
            <search position="before" index="2">
                <![CDATA[<div class="form-group required">]]></search>
            <add><![CDATA[
<div class="form-group required">
    <label class="col-sm-2 control-label" for="input-organization"><?php echo $entry_organization; ?></label>
    <div class="col-sm-10">
        <input type="text" name="organization" value="<?php echo $organization; ?>" id="input-organization" class="form-control" />
        <?php if ($error_organization) { ?>
            <div class="text-danger"><?php echo $error_organization; ?></div>
        <?php } ?>
    </div>
</div>
<div class="form-group required">
    <label class="col-sm-2 control-label" for="input-phone"><?php echo $entry_phone; ?></label>
    <div class="col-sm-10">
        <input type="text" name="phone" value="<?php echo $phone; ?>" id="input-phone" class="form-control" />
        <?php if ($error_phone) { ?>
            <div class="text-danger"><?php echo $error_phone; ?></div>
        <?php } ?>
    </div>
</div>
			]]></add>
        </operation>
    </file>
</modification>

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проблема решена. У меня в файле  /catalog/controller/information/contact.php  был касяк, от куда он взялся неизвестно!

 

@mazein   Это ваш код?

			$mail = new Mail();
			$mail->protocol = $this->config->get('config_mail_protocol');
			$mail->parameter = $this->config->get('config_mail_parameter');
			$mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
			$mail->smtp_username = $this->config->get('config_mail_smtp_username');
			$mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
			$mail->smtp_port = $this->config->get('config_mail_smtp_port');
			$mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

			$mail->setTo($this->config->get('config_email'));
			$mail->setFrom($this->request->post['email']);
			$mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));
			$mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
			$mail->setText($this->request->post['enquiry']);
			$mail->send();

Ниже пишу свой и выделяю красным различия:

 

$mail = new Mail();
            $mail->protocol = $this->config->get('config_mail_protocol');
            $mail->parameter = $this->config->get('config_mail_parameter');
            $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname');
            $mail->smtp_username = $this->config->get('config_mail_smtp_username');
            $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8');
            $mail->smtp_port = $this->config->get('config_mail_smtp_port');
            $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout');

            

            $mail->setTo($this->config->get('config_email'));
            $mail->setFrom($this->config->get('config_email'));
            $mail->setReplyTo($this->request->post['email']);
            $mail->setSender(html_entity_decode($this->request->post['name'], ENT_QUOTES, 'UTF-8'));
            $mail->setSubject(html_entity_decode(sprintf($this->language->get('email_subject'), $this->request->post['name']), ENT_QUOTES, 'UTF-8'));
            $mail->setText($this->request->post['enquiry']);
            $mail->send();

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Lifeamove, это не мой код, это код из оригинального файла  /catalog/controller/information/contact.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×