joriks
Житель
- Регистрация
- 28.09.14
- Сообщения
- 38
- Реакции
- 32
- Автор темы
- #1
Проверял на 2.3.3
Добавляем дополнительное поле в форме обратной связи, например телефон или номер заказа, вся информация видна в админке.
Начнем с правки файла feedback.tpl вашего шаблона в папке /design/ваш_шаблон/html.
В форме вставляем нужное вам поле, в нашем случае поле номер телефона:
после
вставляем
Если нужно сделать данное поле обязательным, чуть выше поправим код вывода ошибок:
Далее правим файл FeedbackView.php в папке /view/
после
вставляем
далее, в этом же файле, после
вставляем
и после
вставляем
Теперь сделаем маленькое изменение в таблице базы данных s_feedbacks, вставим пустую строку phone с параметрами: varchar(20), Null Нет.
Теперь переходим к админке.
Для нормальной работы дизайна админки в simpla/design/css/style.css добавляем:
Далее в файле feedbacks.tpl, папки /simpla/design/html/ вставляем код:
после
добавляем
Для того чтобы заработало поле вывода номера телефона в админке, редактируем файл Feedbacks.php в папке /api
меняем
на
далее, в этом же файле, меняем
на
Теперь у нас есть поле ввода номера телефона и отображается в админке. Теперь, чтобы приходило письмо админу с номером телефона нужно в файле simpla/design/html/email_feedback_admin.tpl после
вставить
Все! По аналогии можно вывести другие параметры, например номер заказа и т.д.
Добавляем дополнительное поле в форме обратной связи, например телефон или номер заказа, вся информация видна в админке.
Начнем с правки файла feedback.tpl вашего шаблона в папке /design/ваш_шаблон/html.
В форме вставляем нужное вам поле, в нашем случае поле номер телефона:
после
PHP:
<label>Email</label>
<input data-format="email" data-notice="Введите email" value="{$email|escape}" name="email" maxlength="255" type="text"/>
PHP:
<label>Номер телефона</label>
<input format=".+" notice="Введите номер телефона" value="{$phone|escape}" name="phone" maxlength="255" type="text"/>
PHP:
<div class="message_error">{if $error=='captcha'}
Неверно введена капча
{elseif $error=='empty_name'}
Введите имя
{elseif $error=='empty_email'}
Введите email
{elseif $error=='empty_phone'}
Введите номер телефона
{elseif $error=='empty_text'}
Введите сообщение
{/if}</div>
после
PHP:
$feedback->email = $this->request->post('email');
PHP:
$feedback->phone = $this->request->post('phone');
PHP:
$this->design->assign('email', $feedback->email);
PHP:
$this->design->assign('telephone', $feedback->phone);
PHP:
elseif(empty($feedback->email))
$this->design->assign('error', 'empty_email');
PHP:
elseif(empty($feedback->phone))
$this->design->assign('error', 'empty_ phone');
Код:
ALTER TABLE `s_feedbacks` ADD `phone` VARCHAR( 20 ) NOT NULL ;
Для нормальной работы дизайна админки в simpla/design/css/style.css добавляем:
Код:
div.comment_tel{
font-size: 12px;
color: #000000;
padding-bottom:5px;
}
после
PHP:
<div class='comment_name'>
<a href="mailto:{$feedback->name|escape}<{$feedback->email|escape}>?subject=Вопрос от пользователя {$feedback->name|escape}">{$feedback->name|escape}</a>
</div>
PHP:
<div class="comment_tel">Телефон: {$feedback->phone|escape}</div>
меняем
PHP:
$query = $this->db->placehold("SELECT f.id, f.name, f.email, f.ip, f.message, f.date FROM __feedbacks f WHERE id=? LIMIT 1", intval($id));
PHP:
$query = $this->db->placehold("SELECT f.id, f.name, f.email, f.ip, f.phone, f.message, f.date FROM __feedbacks f WHERE id=? LIMIT 1", intval($id));
PHP:
$query = $this->db->placehold("SELECT f.id, f.name, f.email, f.ip, f.message, f.date
FROM __feedbacks f WHERE 1 $keyword_filter ORDER BY f.id $sort $sql_limit");
PHP:
$query = $this->db->placehold("SELECT f.id, f.name, f.email, f.ip, f.phone, f.message, f.date
FROM __feedbacks f WHERE 1 $keyword_filter ORDER BY f.id $sort $sql_limit");
PHP:
<tr>
<td style='padding:6px; width:170; background-color:#f0f0f0; border:1px solid #e0e0e0;font-family:arial;'>
Email
</td>
<td style='padding:6px; width:330; background-color:#ffffff; border:1px solid #e0e0e0;font-family:arial;'>
<a href='mailto:{$feedback->email|escape}?subject={$settings->site_name}'>{$feedback->email|escape}</a>
</td>
</tr>
PHP:
<tr>
<td style='padding:6px; width:170; background-color:#f0f0f0; border:1px solid #e0e0e0;font-family:arial;'>
Номер телефона:
</td>
<td style='padding:6px; width:330; background-color:#ffffff; border:1px solid #e0e0e0;font-family:arial;'>
{$feedback->phone|escape}</a>
</td>
</tr>