
В OpenCart 3.0 по умолчанию на странице “Контакты” (/index.php?route=information/contact) – контактная форма имеет только 3 поля: ваше имя, адрес электронной почты и текст сообщения.
Чтобы добавить пользовательское поле “Телефон” в контактную форму OpenCart 3.0, вам нужно будет отредактировать 3 файла:
- \catalog\language\english\information\contact.php
- \catalog\controller\information\contact.php
- \catalog\view\theme[YourThemeName]\template\information\contact.tpl
1. Редактируем файл перевода: \catalog\language\english\information\contact.php
a. После строки:
$_['entry_email'] = 'E-Mail Address';
Добавляем код:
$_['entry_phone'] = 'Telephone';
b. После строки:
$_['error_email'] = 'E-Mail Address does not appear to be valid!';
Добавляем код:
$_['error_phone'] = 'Telephone is required!';
2. Редактируем файл контроллера: \catalog\controller\information\contact.php
a. После строки:
$data['entry_email'] = $this->language->get('entry_email');Добавляем код:
$data['entry_phone'] = $this->language->get('entry_phone');b. После кода:
if (isset($this->error['email'])) {
$data['error_email'] = $this->error['email'];
} else {
$data['error_email'] = '';
}Добавляем код:
if (isset($this->error['phone'])) {
$data['error_phone'] = $this->error['phone'];
} else {
$data['error_phone'] = '';
}c. После кода:
if (!preg_match('/^[^\@]+@.*.[a-z]{2,15}$/i', $this->request->post['email'])) {
$this->error['email'] = $this->language->get('error_email');
}Добавляем код:
if ((utf8_strlen($this->request->post['phone']) < 1)) {
$this->error['phone'] = $this->language->get('error_phone');
}d. Найти код
$mail->setText($this->request->post['enquiry']);
Заменить на код:
$mail->setText($this->request->post['enquiry'] . $mail->newline . 'Telephone: ' . $this->request->post['phone']);
3. Редактируем файл шаблона: \catalog\view\theme[YourThemeName]\template\information\contact.tpl
a. После кода:
<div class="form-group required">
<label class="col-sm-2 control-label" for="input-email"><?php echo $entry_email; ?></label>
<div class="col-sm-10">
<input type="text" name="email" value="<?php echo $email; ?>" id="input-email" class="form-control" />
<?php if ($error_email) { ?>
<div class="text-danger"><?php echo $error_email; ?></div>
<?php } ?>
</div>
</div>Добавляем код:
<div class="form-group required">
<label class="col-sm-2 control-label" for="input-phone"><?php echo $entry_phone; ?></label>
<div class="col-sm-10">
<input type="text" name="phone" value="<?php echo $phone; ?>" id="input-phone" class="form-control" />
<?php if ($error_phone) { ?>
<div class="text-danger"><?php echo $error_phone; ?></div>
<?php } ?>
</div>
</div>В нестандартном шаблоне контактной формы все может быть немного по другому. Поэтому включаем мозг и делаем все по аналогии.




