Перейти к содержанию
Официальный форум поддержки Simpla

Форма обратной связи, дополнительные поля, что я делаю не так?


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

Доброго времени суток, хочу добавить дополнительные поля в обратную связь, но не могу понять, что делаю не так...
Делал в соответствии с http://dwfile.ru/home.php?mod=space&uid=103&do=blog&id=88

Вот мой код в файле feedback.tpl:
{* Страница с формой обратной связи *}

<h1>{$page->name|escape}</h1>

{$page->body}

<h2>Обратная связь</h2>

{if $message_sent}
{$name|escape}, ваше сообщение отправлено.
{else}
<form class="form feedback_form" method="post">
{if $error}
<div class="message_error">
{if $error=='captcha'}
Неверно введена капча
{elseif $error=='empty_name'}
Введите имя
{elseif $error=='empty_theme'}
Введите тему письма
{elseif $error=='empty_email'}
Введите email
{elseif $error=='empty_telephone'}
Введите номер вашего телефона
{elseif $error=='empty_text'}
Введите сообщение
{/if}
</div>
{/if}
<label>Имя</label>
<input data-format=".+" data-notice="Введите имя" value="{$name|escape}" name="name" maxlength="255" type="text"/>

<label>Тема письма</label>
<input data-format=".+" data-notice="Введите тему" value="{$theme|escape}" name="theme" maxlength="255" type="text"/>

<label>Ваш Email</label>
<input data-format="email" data-notice="Введите email" value="{$email|escape}" name="email" maxlength="255" type="text"/>

<label>Ваш номер телефона</label>
<input data-format=".+" data-notice="Введите ваш номер телефона" value="{$telephone|escape}" name="telephone" maxlength="255" type="text"/>

<label>Сообщение</label>
<textarea data-format=".+" data-notice="Введите сообщение" value="{$message|escape}" name="message">{$message|escape}</textarea>

<input class="button" type="submit" name="feedback" value="Отправить" />

<div class="captcha"><img src="captcha/image.php?{math equation='rand(10,10000)'}"/></div>
<input class="input_captcha" id="comment_captcha" type="text" name="captcha_code" value="" data-format="\d\d\d\d" data-notice="Введите капчу"/>

</form>
{/if}

Вот, что у меня в файле Feedbacks.php:
$query = $this->db->placehold("SELECT f.id, f.name, f.theme, f.email, f.ip, f.telephone, f.message, f.date FROM __feedbacks f WHERE id=? LIMIT 1", intval($id));

Вот, что в файле FeedbackView.php:
$feedback->name = $this->request->post('name');
$feedback->theme = $this->request->post('theme');
$feedback->email = $this->request->post('email');
$feedback->telephone = $this->request->post('telephone');
$feedback->message = $this->request->post('message');
$captcha_code = $this->request->post('captcha_code');

$this->design->assign('name', $feedback->name);
$this->design->assign('theme', $feedback->theme);
$this->design->assign('email', $feedback->email);
$this->design->assign('telephone', $feedback->telephone);
$this->design->assign('message', $feedback->message);

if(empty($feedback->name))
$this->design->assign('error', 'empty_name');
elseif(empty($feedback->theme))
$this->design->assign('error', 'empty_theme');
elseif(empty($feedback->email))
$this->design->assign('error', 'empty_email');
elseif(empty($feedback->telephone))
$this->design->assign('error', 'empty_telephone');
elseif(empty($feedback->message))
$this->design->assign('error', 'empty_text');
elseif(empty($_SESSION['captcha_code']) || $_SESSION['captcha_code'] != $captcha_code ||
empty($captcha_code))


В бд создал строки с именами theme и telephone.

На почту приходит стандартная отбивка и в самой админке никаких изменений, что я делаю не так?(

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

Настроил отправку письма на емейл в файле - email_feedback_admin.tpl

Но вот сколько не стараюсь, не выводятся новые поля в админке. Можно вывести любое значение, которое было заведено изначально(ip, id и прочее), кроме новых.

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

Да, я настроил, но уже не помню каким образом( Попробую посмотреть - отпишусь, сейчас тестовый период кончается... Жду продления не на долго(

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

у меня такая же проблема как у автора темы - в админке не выводится поле telephone несмотря на то, что в Feedbacks.php прописал строку подобную этой

$query = $this->db->placehold("SELECT f.id, f.name, f.theme, f.email, f.ip, f.telephone, f.message, f.date FROM __feedbacks f WHERE id=? LIMIT 1", intval($id));


кто-нибудь нам поможет?..
Ссылка на сообщение
Поделиться на другие сайты
  • 4 недели спустя...
  • 2 недели спустя...
  • 4 месяца спустя...

Настроил отправку письма на емейл в файле - email_feedback_admin.tpl

 

Но вот сколько не стараюсь, не выводятся новые поля в админке. Можно вывести любое значение, которое было заведено изначально(ip, id и прочее), кроме новых.

В файле api/Feedbacks.php нужно в двух строках добавить новые поля в строках после f.email,

ну или после чего захотите

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

1. В шаблоне в файле feedback.tpl добавила

 

 {elseif $error=='empty_phone'}

        Введите телефон
 
2. <label>Телефон</label>
    <input data-format="+" data-notice="Введите phone" value="{$phone|escape}" name="phone" maxlength="255" type="text"/>
 
3. Зайти на свой хостинг и в базе phpMyAdmin добавила столбец phone.
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...