Автор Тема: Не работает кнопка "Отправить" (форма отправить другу)  (Прочитано 104 раз)

09 Июня 2016, 08:34:19
  • Фрилансер
  • *
  • Сообщений: 183
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброе утро всем) пытаюсь сделать блок скидки, взяла код от модуля "Отправить другу" и вставила в файл product.tpl
В итоге появился этот блок как надо, теперь хочу чтобы посетитель заполнял свои данные
Ваше имя: ...
Ваша эл. почта:...
Вот потом чтобы все эти данные переходили ко мне на почту, чтобы я знала кому давать скидку))
Загвоздка еще в том, что перестала работать кнопка "Отправить". http://prntscr.com/be5in6
Вот например http://bashenergocom.ru/metallorezhusshij-instrument-i-oborudovanie/1389-koncevaya-freza-d-10mm-r6m5k5.html  не срабатывает кнопка отправить.
Брала из шаблона файл без моих изменений sendtoafriend-extra и все равно кнопка не работает. Пожалуйста помогите)) очень надеюсь на Вас
09 Июня 2016, 13:29:13
Ответ #1
  • Фрилансер
  • *
  • Сообщений: 183
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброе утро всем) пытаюсь сделать блок скидки, взяла код от модуля "Отправить другу" и вставила в файл product.tpl
В итоге появился этот блок как надо, теперь хочу чтобы посетитель заполнял свои данные
Ваше имя: ...
Ваша эл. почта:...
Вот потом чтобы все эти данные переходили ко мне на почту, чтобы я знала кому давать скидку))
Загвоздка еще в том, что перестала работать кнопка "Отправить". http://prntscr.com/be5in6
Вот например http://bashenergocom.ru/metallorezhusshij-instrument-i-oborudovanie/1389-koncevaya-freza-d-10mm-r6m5k5.html  не срабатывает кнопка отправить.
Брала из шаблона файл без моих изменений sendtoafriend-extra и все равно кнопка не работает. Пожалуйста помогите)) очень надеюсь на Вас

 :'( :'( :'(
09 Июня 2016, 13:40:40
Ответ #2
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 85948
  • Репутация: +25399/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Кнопка работает, выполняет свою функцию, страница перегружается.
Осталось добавить метод обработки запроса в контроллере cart. В оригинальном контроллре нет такого метода.
09 Июня 2016, 14:35:41
Ответ #3
  • Фрилансер
  • *
  • Сообщений: 183
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Кнопка работает, выполняет свою функцию, страница перегружается.
Осталось добавить метод обработки запроса в контроллере cart. В оригинальном контроллре нет такого метода.
а подскажите пожалуйста как сделать, чтобы вот форма отправки отправлялась по умолчанию мне на почту, то есть эта функция "Отправить другу" отправляет на почту того, кто заполняет,а мне вот хотелось бы чтобы мне на почту приходило все.

В код вставляю bashenergocom@yandex.ru? но не приходят мне, видимо не туда вставляю.
Вот код файла
http://prntscr.com/be8xs4


Еще вот одни вариант хотела сделать,но не до конца получилось .
Создала в файле product.tpl форму
http://prntscr.com/be8yao
вот ее код http://prntscr.com/be8ysj
потом  в header добавила код
<?php

$name = $_POST['name'];
$email = $_POST['email'];
$mess = $_POST['mess'];

$REMOTE_ADDR = $_POST['REMOTE_ADDR'];

if (isset ($name))
{
$name = substr($name,0,20); //Не может быть более 20 символов
if (empty($name))
{
echo "<center><b>Не указано имя !!!<p>";
echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$name = "не указано";
}

if (isset ($email))
{
$email = substr($email,0,20); //Не может быть более 20 символов
if (empty($email))
{
echo "<center><b>Не указан e-mail !!!<p>";
echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$email = "не указано";
}

if (isset ($mess))
{
$mess = substr($mess,0,1000); //Не может быть более 1000 символов
if (empty($mess))
{
echo "<center><b>Сообщение не написано !!!<p>";
echo "<a href=mail.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else
{
$mess = "не указано";
}

$i = "не указано";
if ($name == $i AND $email == $i AND $mess == $i)
{
echo "Внимание! Произошла ошибка! Вы не заполнили поля сообщения!";
exit;
}

$to = "bashenergocom@yandex.ru";
$subject = "Сообщение с сайта bashenergocom.ru";
$message = "Имя пославшего письмо: $name .\nЭлектронный адрес: $email\nСообщение: $mess .\nIP-адрес: $_SERVER[REMOTE_ADDR]";
mail ($to,$subject,$message,"Content-type:text/plain; charset = utf-8") or print "Не могу отправить письмо !!!";
echo "<center><b>Спасибо за отправку Вашего сообщения. <br> <br> В ближайшее время Вы обязательно получите ответ.";
exit;
?>


но не получаю я сообщения.. не хватает моих знаний
09 Июня 2016, 14:41:38
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 2167
  • Репутация: +49/-4
  • Сообщество PrestaShop
    • Просмотр профиля
Не в шаблон tpl код добавлять, а в контроллер /controllers/front/CartController.php
09 Июня 2016, 14:50:06
Ответ #5
  • Фрилансер
  • *
  • Сообщений: 183
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не в шаблон tpl код добавлять, а в контроллер /controllers/front/CartController.php

Что-то пошло не так, добавила код в СartController.php
http://prntscr.com/be94v5 
как быть? :)
09 Июня 2016, 14:50:50
Ответ #6
  • Фрилансер
  • *
  • Сообщений: 183
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не в шаблон tpl код добавлять, а в контроллер /controllers/front/CartController.php

Что-то пошло не так, добавила код в СartController.php
http://prntscr.com/be94v5 
как быть? :)
Ошибка выходит после заполнения формы)
09 Июня 2016, 14:57:49
Ответ #7
  • Фрилансер
  • *
  • Сообщений: 183
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не в шаблон tpl код добавлять, а в контроллер /controllers/front/CartController.php

УРААААААААА!!Заработало!!!
http://bashenergocom.ru/-kalibry/1412-kalibr-kolco-m1452-7n-ne.html
Последний вопрос, подскажите пожалуйста, как сделать так чтобы я видела на какой товар требуется скидка, то есть вот как модуль "Отправить другу" там видно какой товар.
На странице какого товара заполняется форма, как вставить этот код?))))))))


P/S Уууух счастью нет предела))
09 Июня 2016, 18:46:13
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 1195
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Добавьте во внутрь формы скрытое поле с названием товара, скопируйте из шаблона product.tpl.
10 Июня 2016, 07:25:29
Ответ #9
  • Фрилансер
  • *
  • Сообщений: 183
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добавьте во внутрь формы скрытое поле с названием товара, скопируйте из шаблона product.tpl.
Я вот как раз таки и не знаю как выглядит это скрытое поле)) Подскажете?))  я бы его с радостью копировала
10 Июня 2016, 09:53:42
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 1195
  • Репутация: +28/-1
  • Сообщество PrestaShop
    • Просмотр профиля
<input type="hidden" id="send-product-id" value="{$product->id}" />или
<input type="hidden" id="send-product-name" value="{$product->name}" />
10 Июня 2016, 14:28:38
Ответ #11
  • Фрилансер
  • *
  • Сообщений: 183
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
<input type="hidden" id="send-product-id" value="{$product->id}" />или
<input type="hidden" id="send-product-name" value="{$product->name}" />
Класс!!! Получилось)) теперь приходит на почту название и автоматические то же название отображается при заполнении. Спасибо Вам http://prntscr.com/benwp1

Можно еще один вопрос: а как сделать чтобы дальше ответ на заполненную форму был в маленьком окошке, а не на все страницу http://prntscr.com/benwv7
В интернете пыталась найти решение, но все что я сегодня не пыталась прописать, все приводило к ошибке. Оооочень не хватает знаний ((