public function define(Form $form)
{
// Basic fieldset
$form->wrap('basic', null, function (Form $form) {
// ID
$form->add('id', new Field\HiddenField());
// Title
$form->add('title', new Field\TextField())->label(Translator::translate('admin.topic.field.title'))->setFilter('trim')->required(true);
// Alias
$form->add('alias', new Field\TextField())->label(Translator::translate('admin.topic.field.alias'));
// Images
$form->add('images', new Field\TextField())->label(Translator::translate('admin.topic.field.images'));
// URL
$form->add('url', new Field\TextField())->label(Translator::translate('admin.topic.field.url'))->setValidator(new Rule\UrlValidator())->set('class', 'validate-url');
// Example: Topic List
$form->add('topic_list', new TopicListField())->label('List Example');
// Example: Topic Modal
$form->add('topic_modal', new TopicModalField())->label('Modal Example');
});
// Text Fieldset
$form->wrap('text', null, function (Form $form) {
// Introtext
$form->add('introtext', new Field\TextareaField())->label(Translator::translate('admin.topic.field.introtext'))->set('rows', 10);
// Fulltext
$form->add('fulltext', new Field\TextareaField())->label(Translator::translate('admin.topic.field.fulltext'))->set('rows', 10);
});
// Created fieldset
$form->wrap('created', null, function (Form $form) {
// State
$form->add('state', new Field\RadioField())->label(Translator::translate('admin.topic.field.state'))->set('class', 'btn-group')->set('default', 1)->addOption(new Option(Translator::translate('phoenix.grid.state.published'), '1'))->addOption(new Option(Translator::translate('phoenix.grid.state.unpublished'), '0'));
// Version
$form->add('version', new Field\TextField())->label(Translator::translate('admin.topic.field.version'));
// Created
$form->add('created', new Phoenix\Field\CalendarField())->label(Translator::translate('admin.topic.field.created'));
// Modified
$form->add('modified', new Phoenix\Field\CalendarField())->label(Translator::translate('admin.topic.field.modified'));
// Author
$form->add('created_by', new Field\TextField())->label(Translator::translate('admin.topic.field.author'));
// Modified User
$form->add('modified_by', new Field\TextField())->label(Translator::translate('admin.topic.field.modifiedby'));
});
}