Элементы форм XOOPS
XOOPS предоставляет комплексный набор элементов форм через иерархию класса XoopsFormElement. Эти элементы обрабатывают рендеринг, валидацию и обработку данных для веб-форм.
Form Element Hierarchy
Заголовок раздела «Form Element Hierarchy»classDiagram class XoopsFormElement { +getName() +getCaption() +render() +setValue() +getValue() }
XoopsFormElement <|-- XoopsFormText XoopsFormElement <|-- XoopsFormTextArea XoopsFormElement <|-- XoopsFormSelect XoopsFormElement <|-- XoopsFormCheckBox XoopsFormElement <|-- XoopsFormRadio XoopsFormElement <|-- XoopsFormButton XoopsFormElement <|-- XoopsFormHidden XoopsFormElement <|-- XoopsFormFile XoopsFormElement <|-- XoopsFormLabel XoopsFormElement <|-- XoopsFormPassword XoopsFormElement <|-- XoopsFormDateTimeText Input Elements
Заголовок раздела «Text Input Elements»XoopsFormText
Заголовок раздела «XoopsFormText»Single-line text input:
use XoopsFormText;
$element = new XoopsFormText( caption: 'Username', name: 'username', size: 30, maxlength: 50, value: $currentValue);XoopsFormPassword
Заголовок раздела «XoopsFormPassword»Password input with masking:
use XoopsFormPassword;
$element = new XoopsFormPassword( caption: 'Password', name: 'password', size: 30, maxlength: 100);XoopsFormTextArea
Заголовок раздела «XoopsFormTextArea»Multi-line text input:
use XoopsFormTextArea;
$element = new XoopsFormTextArea( caption: 'Description', name: 'description', value: $currentValue, rows: 5, cols: 50);Selection Elements
Заголовок раздела «Selection Elements»XoopsFormSelect
Заголовок раздела «XoopsFormSelect»Dropdown select:
use XoopsFormSelect;
$element = new XoopsFormSelect( caption: 'Category', name: 'category_id', value: $selected, size: 1, multiple: false);
$element->addOption(1, 'Category 1');$element->addOption(2, 'Category 2');$element->addOptionArray([ 3 => 'Category 3', 4 => 'Category 4']);XoopsFormCheckBox
Заголовок раздела «XoopsFormCheckBox»Checkbox input:
use XoopsFormCheckBox;
$element = new XoopsFormCheckBox( caption: 'Features', name: 'features', value: $selected);
$element->addOption('comments', 'Enable Comments');$element->addOption('ratings', 'Enable Ratings');XoopsFormRadio
Заголовок раздела «XoopsFormRadio»Radio button group:
use XoopsFormRadio;
$element = new XoopsFormRadio( caption: 'Status', name: 'status', value: $currentValue);
$element->addOption('draft', 'Draft');$element->addOption('published', 'Published');$element->addOption('archived', 'Archived');File Upload
Заголовок раздела «File Upload»XoopsFormFile
Заголовок раздела «XoopsFormFile»File upload input:
use XoopsFormFile;
$element = new XoopsFormFile( caption: 'Upload Image', name: 'image');
$element->setMaxFileSize(2 * 1024 * 1024); // 2MBDate and Time
Заголовок раздела «Date and Time»XoopsFormDateTime
Заголовок раздела «XoopsFormDateTime»Date/time picker:
use XoopsFormDateTime;
$element = new XoopsFormDateTime( caption: 'Publish Date', name: 'publish_date', size: 15, value: time());Special Elements
Заголовок раздела «Special Elements»XoopsFormHidden
Заголовок раздела «XoopsFormHidden»Hidden field:
use XoopsFormHidden;
$element = new XoopsFormHidden('article_id', $articleId);XoopsFormLabel
Заголовок раздела «XoopsFormLabel»Display-only label:
use XoopsFormLabel;
$element = new XoopsFormLabel( caption: 'Created By', value: $authorName);XoopsFormButton
Заголовок раздела «XoopsFormButton»Form buttons:
use XoopsFormButton;
// Submit button$submit = new XoopsFormButton('', 'submit', 'Save', 'submit');
// Reset button$reset = new XoopsFormButton('', 'reset', 'Reset', 'reset');Element Customization
Заголовок раздела «Element Customization»Adding CSS Classes
Заголовок раздела «Adding CSS Classes»$element->setExtra('class="form-control custom-class"');Adding Custom Attributes
Заголовок раздела «Adding Custom Attributes»$element->setExtra('data-validate="required" placeholder="Enter text..."');Setting Description
Заголовок раздела «Setting Description»$element->setDescription('Enter a unique username (3-20 characters)');Related Documentation
Заголовок раздела «Related Documentation»- Forms Overview
- Form Validation
- Custom Renderers