Ответить Новая тема Новый опрос 
 Добавление полей в форму обратной связи
alkokoal
Новичок
Сообщений: 17
Регистрация: 04-03-2015


05-03-2015 19:24
Добрый день!
Сломала себе весь мозг.

В форму обратной связи на страницу contact-us нужно добавить несколько полей

имя, компания, телефон, город, ожидаемая дата ответа (с галочками срочный звонок или нет).

Кроме того мне обязательно, чтобы вся эта информация приходила мне на почту.

Я так понимаю что коды нужно прописывать в файл contact-form.tpl

Какие еще надо править файлы? и какой код нужно прописать, чтобы все заработало?

Просмотрела весь Ваш форум, но у меня не получилось этого сделать, так как там советы только для других версий Prestashopa.

Честно пыталась своими силами, но окна даже не появляются у меня в форме.

Я очень Вас прошу помочь.

 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


05-03-2015 21:24
1. Открыть файл /themes/шаблон/contact-form.tpl
a) изменить кодировку файла на UTF-8 без BOM
б) после:
Код:
<p class="form-group">
                    <label for="email">{l s='Email address'}</label>
                    {if isset($customerThread.email)}
                        <input class="form-control grey" type="text" id="email" name="from" value="{$customerThread.email|escape:'html':'UTF-8'}" readonly="readonly" />
                    {else}
                        <input class="form-control grey validate" type="text" id="email" name="from" data-validate="isEmail" value="{$email|escape:'html':'UTF-8'}" />
                    {/if}
                </p>

добавить:
Код:
<p class="form-group">
    <label for="name">Имя</label>
    <input class="form-control grey validate" type="text" id="name" name="name" data-validate="isName" value="{if isset($smarty.post.name)}{$smarty.post.name|escape:'html':'UTF-8'}{/if}" />
</p>
<p class="form-group">
    <label for="com">Компания</label>
    <input class="form-control grey validate" type="text" id="com" name="com" data-validate="isGenericName" value="{if isset($smarty.post.com)}{$smarty.post.com|escape:'html':'UTF-8'}{/if}" />
</p>
<p class="form-group">
    <label for="phone">Телефон</label>
    <input class="form-control grey validate" type="text" id="phone" name="phone" data-validate="isPhoneNumber" value="{if isset($smarty.post.phone)}{$smarty.post.phone|escape:'html':'UTF-8'}{/if}" />
</p>
<p class="form-group">
    <label for="city">Город</label>
    <input class="form-control grey validate" type="text" id="city" name="city" data-validate="isCityName" value="{if isset($smarty.post.city)}{$smarty.post.city|escape:'html':'UTF-8'}{/if}" />
</p>

<p class="form-group checkbox">
    <label for="exp">
    <input type="checkbox" name="exp" id="exp" value="0" {if isset($smarty.post.exp) && $smarty.post.exp == '1'}checked="checked"{/if} />
    Срочный звонок</label>
</p>


2 Открыть файл /controllers/front/ContactController.php
a) изменить кодировку файла на UTF-8 без BOM
б) после:
Код:
'{product_name}' => '',

добавить:
Код:
'{name}' => Tools::getValue('name'),
'{com}' => Tools::getValue('com'),
'{phone}' => Tools::getValue('phone'),
'{city}' => Tools::getValue('city'),
'{exp}' => (Tools::getValue('exp') ? 'Да' : 'Нет'),


3. Открыть файл /mails/*/contact_form.*
и добавить:
Код:
<span style="color:#333"><strong>Имя:</strong></span> {name}<br />
<span style="color:#333"><strong>Компания:</strong></span> {com}<br />
<span style="color:#333"><strong>Телефон:</strong></span> {phone}<br />
<span style="color:#333"><strong>Город:</strong></span> {city}<br />
<span style="color:#333"><strong>Срочный звонок:</strong></span> {exp}<br />


Данные будут отправлены на почту.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
alkokoal
Новичок
Сообщений: 17
Регистрация: 04-03-2015


05-03-2015 21:57
Я даже не знаю как Вас отблагодарить!! Все отлично заработало! Умничка! Спасибо большое!
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
szvonskij


Новичок
Сообщений: 37
Регистрация: 23-05-2015


20-07-2015 18:33
День добрый, а как можно сделать чтоб и в админке данный телефон светился?
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


20-07-2015 20:21
Цитата:( szvonskij @ 20-07-2015 19:33 Смотреть сообщение )
а как можно сделать чтоб и в админке данный телефон светился?
1. Выполните запрос:
Код:
ALTER TABLE `ПРЕФИКС_customer_thread` ADD `phone` varchar(16) default NULL

2. Откройте файл /classes/CustomerThread.php
после:
Код:
public $email;

добавьте:
Код:
public $phone;


после:
Код:
'email' =>         array('type' => self::TYPE_STRING, 'validate' => 'isEmail', 'size' => 254),

добавьте:
Код:
'phone' =>         array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'size' => 16),


3. Откройте файл /controllers/front/ContactController.php
после:
Код:
$ct->id_order = (int)$id_order;

добавьте:
Код:
$ct->phone = Tools::getValue('phone');


после:
Код:
$ct->email = $from;

добавьте:
Код:
$ct->phone = Tools::getValue('phone');


3. Откройте файл /адм.директория/themes/default/template/controllers/customer_threads/helpers/view/message.tpl и добавьте после:
Код:
{$message.customer_name|escape:'html':'UTF-8'}

Код:
({$message.phone})
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
MisterMyth
Cпециалист
Сообщений: 158
Регистрация: 07-05-2015


02-03-2016 16:23
Почему то не выводит в письме новые переменные.


Вложения:

Вложения Desktop.zip( Размер файла: 7.95KB Скачиваний: 106 )
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос