Класс CFormOutput
Описание и методы
CFormOutput - класс для работы с шаблонами форм
Использование класса
Класс используется для для управления визульным отображением формы. При
выводе шаблона формы, ему передается переменная $FORM -
инициализированный экземпляр класса. Шаблон формируется в виде HTML-кода со
вставками вызовов методов класса (пример см. ниже).
Возможно визуальное редактирование шаблона, а также, создание формы на основе
шаблона.
Основные методы класса
Основные методы класса.
| Метод | Описание | С версии |
|---|---|---|
| ShowApplyButton | Вывод кнопки "Применить". | |
| ShowCaptcha | Вывод отформатированных полей ввода CAPTCHA. | |
| ShowCaptchaField | Вывод поля для ввода текста CAPTCHA. | |
| ShowCaptchaImage | Вывод изображения CAPTCHA. | |
| ShowErrorMsg | Вывод ошибок модуля формы. Вызывается автоматически. | |
| ShowFormDescription | Вывод описания формы. | |
| ShowFormErrors | Вывод отформатированного списка ошибок валидатора формы. | |
| ShowFormErrorsText | Вывод неотформатированного списка ошибок валидатора формы. | |
| ShowFormFooter | Вывод завершающей части HTML-кода формы. Вставляется в конец шаблона автоматически. | |
| ShowFormHeader | Вывод заголовка HTML-кода формы. Вставляется в начало шаблона автоматически. | |
| ShowFormImage | Вывод картинки формы. | |
| ShowFormNote | Вывод отформатированных заметок формы. | |
| ShowFormNoteText | Вывод неотформатированных заметок формы. | |
| ShowFormTitle | Вывод текстового заголовка формы. | |
| ShowInput | Вывод поля формы. | |
| ShowInputCaption | Вывод подписи поля формы. | |
| ShowInputCaptionImage | Вывод картинки поля формы. | |
| ShowRequired | Вывод метки "обязательное поле". | |
| ShowResetButton | Вывод кнопки "Сбросить". | |
| ShowSubmitButton | Вывод кнопки отправки формы. | |
| SetInputDefaultValue | Устанавливает значение по умолчанию для поля веб-формы. | 5.9.2 |
Методы для проверки условий. Все условные методы недоступны в режиме визуального редактора. Их можно использовать только в режиме редактирования PHP-кода.
| Метод | Описание | С версии |
|---|---|---|
| isFormDescription | Имеет ли форма описание. | |
| isFormErrors | Есть ли ошибки валидатора. | |
| isFormImage | Имеет ли форма картинку. | |
| isFormNote | Имеет ли форма заметки. | |
| isFormTitle | Имеет ли форма текстовый заголовок. | |
| isInputCaptionImage | Имеет ли поле формы картинку. | |
| isUseCaptcha | Используется ли в форме CAPTCHA. |
Примеры
Пример шаблона формы
$FORM - экземпляр класса CFormOutput -
создаётся и инициализируется автоматически вне шаблона. Вызов методов
CFormOutput::ShowFormHeader() и
CFormOutput::ShowFormFooter() также добавляется к шаблону
автоматически.
<!-- Выведем описание формы --> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td align="center"><?=$FORM->ShowFormDescription()?></td> </tr> </table> <!-- Если есть ошибки валидатора - выведем их --> <?if($FORM->isFormErrors()):?> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td><?=$FORM->ShowFormErrors()?></td> </tr> </table> <?endif?> <!-- Выведем поля формы --> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td width="40%" valign="top" align="right"><?=$FORM->ShowInputCaption('test_q')?>: </td> <td width="60%" valign="top"><?=$FORM->ShowInput('test_q')?></td> </tr> <tr> <td valign="top" align="right"><?=$FORM->ShowInputCaption('test_q_text')?>: </td> <td valign="top"><?=$FORM->ShowInput('test_q_text')?></td> </tr> <tr> <td valign="top" align="right"><?=$FORM->ShowInputCaption('test_q_textarea')?>: </td> <td valign="top"><?=$FORM->ShowInput('test_q_textarea')?></td> </tr> </table> <!-- Если используется CAPTCHA - выведем картинку и поле для ввода --> <?if($FORM->isUseCaptcha()):?> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td colspan="2" height="8"></td> </tr> <tr> <td width="40%" valign="top" align="right" class="text">Защита от автоматической регистрации: </td> <td width="60%" valign="top"><?=$FORM->ShowCaptchaImage()?></td> </tr> <tr> <td valign="top" align="right" class="text">Введите слово с картинки<?=$FORM->ShowRequired()?>: </td> <td valign="top"><?=$FORM->ShowCaptchaField()?></td> </tr> </table> <?endif?> <!-- Выведем кнопки формы --> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td width="40%"> </td> <td width="60%"> <?=$FORM->ShowSubmitButton()?> <?=$FORM->ShowApplyButton()?> <?=$FORM->ShowResetButton()?> </td> </tr> </table>
Если не предполагается использование страниц редактирования результата формы или просмотра списка результатов, то имеет смысл вставить в шаблон ответ веб-формы в обход основного шаблона:
<!-- Если есть ответ формы - выведем его в обход шаблона --> <?if($FORM->isFormNote()):?> <?=$FORM->ShowFormNote()?> <?else:?> <!-- здесь остальной шаблон веб-формы --> <?endif?>