Hey liebe Community,
ich lese mich aktuell etwas in die WoltLab-Docs ein und versuche mich in die Entwicklung von Plugins einzuarbeiten.
In der Tutorial Series - Part 1 gibt es folgende Klasse:
PHP: PersonAddForm.class.php
<?php
namespace wcf\acp\form;
use wcf\data\person\PersonAction;
use wcf\form\AbstractFormBuilderForm;
use wcf\system\form\builder\container\FormContainer;
use wcf\system\form\builder\field\TextFormField;
/**
* Shows the form to create a new person.
*
* @author Matthias Schmidt
* @copyright 2001-2021 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Acp\Form
*/
class PersonAddForm extends AbstractFormBuilderForm
{
/**
* @inheritDoc
*/
public $activeMenuItem = 'wcf.acp.menu.link.person.add';
/**
* @inheritDoc
*/
public $formAction = 'create';
/**
* @inheritDoc
*/
public $neededPermissions = ['admin.content.canManagePeople'];
/**
* @inheritDoc
*/
public $objectActionClass = PersonAction::class;
/**
* @inheritDoc
*/
public $objectEditLinkController = PersonEditForm::class;
/**
* @inheritDoc
*/
protected function createForm()
{
parent::createForm();
$this->form->appendChild(
FormContainer::create('data')
->label('wcf.global.form.data')
->appendChildren([
TextFormField::create('firstName')
->label('wcf.person.firstName')
->required()
->autoFocus()
->maximumLength(255),
TextFormField::create('lastName')
->label('wcf.person.lastName')
->required()
->maximumLength(255),
])
);
}
}
Display More
Das ganze Formular wird diesbezüglich ja gar nicht durch "meinen" (im Tutorial) Code validiert, weshalb ich da auch nichts bearbeiten könnte. Ich möchte aber gerne die Erstellungszeit mit in der Datenbank speichern und da wäre das naheliegendste für mich ein "hidden"-Inputfeld einzubauen. Laut den Docs gibt es sowas im FormBuilder aber nicht.
Einen Hinweis und/oder ein Code-Beispiel wie ich das am besten umsetzen könnte wären super. Beim FormBuilder blicke ich wirklich noch nicht so durch.
Liebe Grüße