Класс 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?>