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> 
	
 
 
		 
 
		
