Zum Inhalt springen

XoopsForm API-Referenz

Vollständige API-Dokumentation für das XOOPS-Formularerzeugungssystem.


classDiagram
class XoopsForm {
<<abstract>>
#string $title
#string $name
#string $action
#string $method
#array $elements
#string $extra
#bool $required
+addElement(element, required)
+getElements()
+getElement(name)
+setExtra(extra)
+render()
+display()
}
class XoopsThemeForm {
+render()
}
class XoopsSimpleForm {
+render()
}
class XoopsTableForm {
+render()
}
XoopsForm <|-- XoopsThemeForm
XoopsForm <|-- XoopsSimpleForm
XoopsForm <|-- XoopsTableForm
class XoopsFormElement {
<<abstract>>
#string $name
#string $caption
#string $description
#string $extra
#bool $required
+getName()
+getCaption()
+setCaption(caption)
+getDescription()
+setDescription(desc)
+isRequired()
+setRequired(required)
+render()
}
XoopsFormElement <|-- XoopsFormText
XoopsFormElement <|-- XoopsFormTextArea
XoopsFormElement <|-- XoopsFormSelect
XoopsFormElement <|-- XoopsFormCheckBox
XoopsFormElement <|-- XoopsFormRadio
XoopsFormElement <|-- XoopsFormButton
XoopsFormElement <|-- XoopsFormFile
XoopsFormElement <|-- XoopsFormHidden
XoopsFormElement <|-- XoopsFormLabel
XoopsFormElement <|-- XoopsFormPassword
XoopsFormElement <|-- XoopsFormElementTray

public function __construct(
string $title, // Formulartitel
string $name, // Form name Attribut
string $action, // Form action URL
string $method = 'post', // HTTP-Methode
bool $addToken = false // CSRF-Token hinzufügen
)
MethodeParameterRückgabewertBeschreibung
addElementXoopsFormElement $element, bool $required = falsevoidElement zum Formular hinzufügen
getElements-arrayAlle Elemente abrufen
getElementstring $name`XoopsFormElementnull`
setExtrastring $extravoidExtra HTML-Attribute setzen
getExtra-stringExtra-Attribute abrufen
getTitle-stringFormulartitel abrufen
setTitlestring $titlevoidFormulartitel setzen
getName-stringFormularname abrufen
getAction-stringAction-URL abrufen
render-stringFormular-HTML rendern
display-voidGerendertes Formular ausgeben
insertBreakstring $extra = ''voidVisuellen Umbruch einfügen
setRequiredXoopsFormElement $elementvoidElement als erforderlich kennzeichnen

Die am häufigsten verwendete Formularklasse, rendert mit Theme-bewusster Formatierung.

<?php
$form = new XoopsThemeForm(
'User Registration',
'registration_form',
'register.php',
'post',
true // CSRF-Token einschließen
);
$form->addElement(new XoopsFormText('Username', 'uname', 25, 255, ''), true);
$form->addElement(new XoopsFormPassword('Password', 'pass', 25, 255), true);
$form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
echo $form->render();

Einzeiliger Texteingabe.

$text = new XoopsFormText(
string $caption, // Label-Text
string $name, // Input-Name
int $size, // Anzeigebreite
int $maxlength, // Max Zeichen
mixed $value = '' // Standardwert
);
// Methoden
$text->getValue();
$text->setValue($value);
$text->getSize();
$text->getMaxlength();

Mehrzeilige Texteingabe.

$textarea = new XoopsFormTextArea(
string $caption,
string $name,
mixed $value = '',
int $rows = 5,
int $cols = 50
);
// Methoden
$textarea->getRows();
$textarea->getCols();

Dropdown oder Multi-Select.

$select = new XoopsFormSelect(
string $caption,
string $name,
mixed $value = null,
int $size = 1, // 1 = dropdown, >1 = listbox
bool $multiple = false
);
// Methoden
$select->addOption(mixed $value, string $name = '');
$select->addOptionArray(array $options);
$select->getOptions();
$select->getValue();
$select->isMultiple();

Checkbox oder Checkbox-Gruppe.

$checkbox = new XoopsFormCheckBox(
string $caption,
string $name,
mixed $value = null,
string $delimeter = '&nbsp;'
);
// Methoden
$checkbox->addOption(mixed $value, string $name = '');
$checkbox->addOptionArray(array $options);
$checkbox->getValue();

Radiobutton-Gruppe.

$radio = new XoopsFormRadio(
string $caption,
string $name,
mixed $value = null,
string $delimeter = '&nbsp;'
);
// Methoden
$radio->addOption(mixed $value, string $name = '');
$radio->addOptionArray(array $options);

Submit, Reset oder benutzerdefinierter Button.

$button = new XoopsFormButton(
string $caption,
string $name,
string $value = '',
string $type = 'button' // 'submit', 'reset', 'button'
);

Datei-Upload-Eingabe.

$file = new XoopsFormFile(
string $caption,
string $name,
int $maxFileSize = 0
);
// Methoden
$file->getMaxFileSize();
$file->setMaxFileSize(int $size);

Verstecktes Eingabefeld.

$hidden = new XoopsFormHidden(
string $name,
mixed $value
);

CSRF-Schutz-Token.

$token = new XoopsFormHiddenToken(
string $name = 'XOOPS_TOKEN_REQUEST'
);

Nur-Anzeige-Label (keine Eingabe).

$label = new XoopsFormLabel(
string $caption,
string $value
);

Passwort-Eingabefeld.

$password = new XoopsFormPassword(
string $caption,
string $name,
int $size,
int $maxlength,
mixed $value = ''
);

Gruppiert mehrere Elemente zusammen.

$tray = new XoopsFormElementTray(
string $caption,
string $delimeter = '&nbsp;'
);
// Methoden
$tray->addElement(XoopsFormElement $element, bool $required = false);
$tray->getElements();

  • XoopsObject API
  • Forms Guide
  • CSRF Protection

#xoops #api #forms #xoopsform #reference