Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Вставить поле телефон в форме контакты(обратная связь)


Evgeny
 Поделиться

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

Все, победил!

 

Вот финальные файлы, которые дают такую форму и такое мыло в версии OC 2.0.3.2.

contact-form-with-phone-2032.zip

post-715168-0-36267500-1474826610_thumb.png

post-715168-0-44635200-1474826614_thumb.png

Изменено пользователем EIKA
  • +1 3
Ссылка на комментарий
Поделиться на других сайтах


  • 6 месяцев спустя...

Реально работает. Я в шоке, столько форумов перечитал. Кроме добавления одного поля теперь наконец-то показывается адресс отправителя. А вот если вписать почту майл, то не работает, письма не приходят.

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


Спасибо за файлы. Все работает.
Если человек указывал в письме свой адрес с mail.ru, то сообщение не доходило.
Помогло следующее:

откройте файл \catalog\controller\information\contact.php и
замените это

$mail->setFrom($this->request->post['email']);

на это
 

$mail->setFrom($this->config->get('config_email'));
$mail->setReplyTo($this->request->post['email']);

почта покупателя будет видна, если нажать Ответить в самом письме
 

Так же лучше настроить почту для домена

  • +1 2
Ссылка на комментарий
Поделиться на других сайтах


  • 3 месяца спустя...
On 21.04.2017 at 5:36 PM, Holiver said:

Спасибо за файлы. Все работает.
Если человек указывал в письме свой адрес с mail.ru, то сообщение не доходило.
Помогло следующее:

откройте файл \catalog\controller\information\contact.php и
замените это


$mail->setFrom($this->request->post['email']);

на это
 


$mail->setFrom($this->config->get('config_email'));
$mail->setReplyTo($this->request->post['email']);

почта покупателя будет видна, если нажать Ответить в самом письме
 

Так же лучше настроить почту для домена

Стока выдаёт ошибку 500...

Но с mail.ru отправляется норм :)

$mail->setReplyTo($this->request->post['email']);
Ссылка на комментарий
Поделиться на других сайтах

Всем огромное спасибо! Взял со всех по чуть чуть!!! выкладываю для шаблона moneymaker 1.5.5.1.2

З.Ы. Хотел написать XML но нет времени.

З.Ы.Ы. я не программист, сильно не пинайте! Я просто собрал из данной темы все коды по чуть чуть и сделал всё в одном посте :) 

З.Ы.Ы.Ы. Планирую ещё добавить поле телефон по маске и изменить заголовок у письма.
Поле емейл обязательное, телефон не обязательное но с проверкой, если не пустое. Письма от отправителей mail.ru проходят.

 

/catalog/view/theme/moneymaker/template/information/contact.tpl

Ищем блок мыла:

                    <div class="form-group required">
                      <label for="email" class="col-sm-4 control-label"><?php echo $entry_email; ?></label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" id="email" name="email" value="<?php echo $email; ?>" />
                        <?php if ($error_email) { ?>
                        <span class="error"><?php echo $error_email; ?></span>
                        <?php } ?>
                      </div>
                    </div>

Добавляем после блока мыла:

                    <div class="form-group">
                      <label for="phone" class="col-sm-4 control-label"><?php echo $entry_phone; ?></label>
                      <div class="col-sm-8">
                        <input type="text" class="form-control" id="phone" name="phone" value="<?php echo $phone; ?>" />
                        <?php if ($error_phone) { ?>
                        <span class="error"><?php echo $error_phone; ?></span>
                        <?php } ?>
                      </div>
                    </div>

/www/electric-shop24.ru/catalog/language/russian/information/contact.php

Добавляем в языковой файл:

$_['entry_phone']	 = 'Ваш телефон:';
$_['error_phone']	 = 'Телефон должен быть от 7 до 12 цифр!';

/catalog/controller/information/contact.php

Фикс отправки писем для от mail.ru

ищем:

$mail->setFrom($this->request->post['email']);

меняем на:

$mail->setFrom($this->config->get('config_email'));

Правим шаблон письма админу

ищем:

$mail->setText(strip_tags(html_entity_decode($this->request->post['enquiry'], ENT_QUOTES, 'UTF-8')));

меняем на:

	  		$EmailMessage =
			"Имя отправителя: ".$this->request->post['name'].
			"\nПочта отправителя: ".$this->request->post['email'].
			($this->request->post['phone']!=''?"\nТелефон отправителя: ".$this->request->post['phone']:"").
			"\nIP отправителя:      ".$_SERVER['REMOTE_ADDR'].
			"\n\n----------------------------------------\n\n".$this->request->post['enquiry'].
			"\n\n----------------------------------------\n";
			$mail->setText(strip_tags(html_entity_decode($EmailMessage, ENT_QUOTES, 'UTF-8')));

Далее прописываем в контроллере телефон

ищем:

		if (isset($this->error['email'])) {
			$this->data['error_email'] = $this->error['email'];
		} else {
			$this->data['error_email'] = '';
		}

добавляем после:

		if (isset($this->error['phone'])) {
			$this->data['error_phone'] = $this->error['phone'];
		} else {
			$this->data['error_phone'] = '';
		}	

ищем:

		if (isset($this->request->post['email'])) {
			$this->data['email'] = $this->request->post['email'];
		} else {
			$this->data['email'] = $this->customer->getEmail();
		}

добавляем после:

		if (isset($this->request->post['phone'])) {
			$this->data['phone'] = $this->request->post['phone'];
		} else {
			$this->data['phone'] = '';
		}

ищем:

    	if (!$this->ocstore->validate($this->request->post['email'])) {
      		$this->error['email'] = $this->language->get('error_email');
    	}

добавляем после:

		if(!empty($this->request->post['phone'])){
		if(!preg_match("/^[0-9]{7,12}$/", $this->request->post['phone'])){
		$this->error['phone'] = $this->language->get('error_phone');
			}
		}

 

 

Ну вот собственно и всё.

 

Получаем следующую картину: см. вложения...

 

2017-08-18_10-33-34.png

2017-08-18_10-34-47.png

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

  • 3 месяца спустя...
  • 5 месяцев спустя...
  • 2 месяца спустя...

Ребята огромное всем спасибо - на основании Ваших диалогов и примеров кода - получилось свою форму обратной доделать и так что бы все данные приходили.СПАСИБО БОЛЬШОЕ

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


  • 1 год спустя...
В 26.09.2016 в 03:03, EIKA сказал:

Все, победил!

 

Вот финальные файлы, которые дают такую форму и такое мыло в версии OC 2.0.3.2.

contact-form-with-phone-2032.zip 4 \u043a\u0411 · 133 downloads

post-715168-0-36267500-1474826610_thumb.png

post-715168-0-44635200-1474826614_thumb.png

СПАСИБО!!! Утащила к себе!

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.