# Модуль RT Form
Данный модуль позволяет создавать произвольные формы с возможностью сохранение 
всех запросов пользователя в административном разделе.  
***
## Настройка
1. Создать шаблон письма в E-mail менеджере
2. Создать класс валидатор для обработки формы. Данный клас можно создать используя модуль skeleton
3. Создать форму в административном разделе модуля
4. Собрать html формы используя встроенные парсеры - rtform_open, rtform_message, form_error, form_close и другие 

### Пример шаблона письма
```
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Pitch submission form</title>
</head>
<body>
<p>User filled pitch submission form</p>
<table>
    <tr>
        <td>Name</td>
        <td>[[name]]</td>
    </tr>
    <tr>
        <td>Email Address</td>
        <td>[[email]]</td>
    </tr>
    <tr>
        <td>Phone Number</td>
        <td>[[phone]]</td>
    </tr>
</table>
</body>
</html>

```  
### Пример класса валидатора  
```
class Rtform_pitch_form extends \Ciext\Form\AbstractForm
{

    public function get_rules()
    {
        return [
            [
                'field' => 'name',
                'label' => $this->ci->lang->line('Name'),
                'rules' => [
                    'trim',
                    'min_length[3]',
                    'max_length[255]',
                ]
            ],
            [
                'field' => 'email',
                'label' => $this->ci->lang->line('Email address'),
                'rules' => [
                    'trim',
                    'valid_email',
                ]
            ],
            [
                'field' => 'phone',
                'label' => $this->ci->lang->line('Phone number'),
                'rules' => [
                    'trim',
                    'max_length[255]',
                ]
            ],
        ];
    }
}
```  

### Пример html формы
```
// В административном разделе модуля создана форма с pitch_submission_form
// и настроена на валидатор Rtform_pitch_form
 
{{ rtform_open('pitch_submission_form') }}
    <h4>PITCH SUBMISSION FORM</h4>
    <div class="form_group">
        <label>Your name:</label>
        <input type="text" name="name" value="{{ form_set_value('name') }}" required />
        {{ form_error('name') }}
    </div>
    <div class="form_group">
        <label>Email address:</label>
        <input type="email" name="email" value="{{ form_set_value('email') }}" required />
        {{ form_error('email') }}
    </div>
    <div class="form_group">
        <label>Phone number:</label>
        <input type="tel" name="phone" value="{{ form_set_value('phone') }}" />
        {{ form_error('phone') }}
    </div>
    {{ rtform_message('<div class="btn_box"><label class="label label-success">', '</label></div>') }}
{{ form_close() }}
```