Přeskočit na obsah

XOOPS prvky formuláře

XOOPS poskytuje komplexní sadu formulářových prvků prostřednictvím své hierarchie tříd XOOPSFormElement. Tyto prvky zajišťují vykreslování, ověřování a zpracování dat pro webové formuláře.

Hierarchie prvků formuláře

Sekce “Hierarchie prvků formuláře”
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 <|-- XOOPSFormDateTime

Prvky pro zadávání textu

Sekce “Prvky pro zadávání textu”

Jednořádkový textový vstup:

use XOOPSFormText;
$element = new XOOPSFormText(
caption: 'Username',
name: 'username',
size: 30,
maxlength: 50,
value: $currentValue
);

Zadání hesla s maskováním:

use XOOPSFormPassword;
$element = new XOOPSFormPassword(
caption: 'Password',
name: 'password',
size: 30,
maxlength: 100
);

Víceřádkový textový vstup:

use XOOPSFormTextArea;
$element = new XOOPSFormTextArea(
caption: 'Description',
name: 'description',
value: $currentValue,
rows: 5,
cols: 50
);

Vyberte rozbalovací nabídku:

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'
]);

Vstup zaškrtávacího políčka:

use XOOPSFormCheckBox;
$element = new XOOPSFormCheckBox(
caption: 'Features',
name: 'features',
value: $selected
);
$element->addOption('comments', 'Enable Comments');
$element->addOption('ratings', 'Enable Ratings');

Skupina přepínacích tlačítek:

use XOOPSFormRadio;
$element = new XOOPSFormRadio(
caption: 'Status',
name: 'status',
value: $currentValue
);
$element->addOption('draft', 'Draft');
$element->addOption('published', 'Published');
$element->addOption('archived', 'Archived');

Vstup pro nahrání souboru:

use XOOPSFormFile;
$element = new XOOPSFormFile(
caption: 'Upload Image',
name: 'image'
);
$element->setMaxFileSize(2 * 1024 * 1024); // 2MB

Date/time sběrač:

use XOOPSFormDateTime;
$element = new XOOPSFormDateTime(
caption: 'Publish Date',
name: 'publish_date',
size: 15,
value: time()
);

Skryté pole:

use XOOPSFormHidden;
$element = new XOOPSFormHidden('article_id', $articleId);

Štítek pouze pro zobrazení:

use XOOPSFormLabel;
$element = new XOOPSFormLabel(
caption: 'Created By',
value: $authorName
);

Tlačítka formuláře:

use XOOPSFormButton;
// Submit button
$submit = new XOOPSFormButton('', 'submit', 'Save', 'submit');
// Reset button
$reset = new XOOPSFormButton('', 'reset', 'Reset', 'reset');
$element->setExtra('class="form-control custom-class"');

Přidání vlastních atributů

Sekce “Přidání vlastních atributů”
$element->setExtra('data-validate="required" placeholder="Enter text..."');
$element->setDescription('Enter a unique username (3-20 characters)');

Související dokumentace

Sekce “Související dokumentace”
  • Přehled formulářů
  • Ověření formuláře
  • Vlastní renderery