Give your forums
a structured
voice.
Replace the freeform new-topic editor with purpose-built, field-driven forms. Admins design them, users fill them in, phpBB posts them — clean every time.
Admin designs. User fills.
phpBB posts.
Six clean steps from first setup to a perfectly structured topic — and not one of them touches replies or edits.
Create a Form
ACP → VaultBB → Post Forms → Forms. Name it, write a description, define subject and output templates.
Add Fields
Build field by field from 9 types. Set labels, placeholders, validation rules, and display order.
Assign to Forums
Link your form to one or more forums by Forum ID. Multiple forms per forum are fully supported.
User is Redirected
“Post New Topic” in an assigned forum lands the user on your custom form — not the standard editor.
Form is Validated
Required fields enforced. Lengths checked. Formats verified — URL, email, number, date. Errors shown inline.
Topic Created Natively
Field values assemble into BBCode via your template, then phpBB’s own submit_post() creates the topic.
Nine ways to collect
exactly what you need.
Every field supports labels, descriptions, placeholders, default values, sort order — and maps to a {field_key} placeholder in your output template.
Text
Single-line input with min/max length, placeholder and default value. For titles, versions, names, identifiers.
type: textTextarea
Multi-line text area with the same validation as text. For descriptions, reproduction steps, long-form answers.
type: textareaDropdown
Select from a predefined list. Options entered one per line in ACP. Outputs the selected value to the template.
type: dropdownRadio
Radio button group built from your options list. One visible selection — ideal for severity, category, priority.
type: radioCheckbox
Single on/off toggle. Outputs “yes” or “no” in the assembled post body. For confirmations and boolean flags.
type: checkboxURL
Text input with server-side URL format validation. Accepts https:// and http://. Invalid entries clearly rejected.
type: urlEmail address input with format validation. Useful when a contact or coordination address needs capturing.
type: emailNumber
Numeric input validated on submission. For counts, order numbers, port numbers, quantities.
type: numberDate
Native date picker stored and validated as YYYY-MM-DD. Perfect for deadlines, events, schedules.
type: dateYou write the template.
It fills the blanks.
Full control over both the post body and the topic subject via {field_key} placeholders — wrapped in any BBCode you like.
[Bug] {title} — v{version}
[b]Title:[/b] {title}
[b]Version:[/b] {version}
[b]Severity:[/b] {severity}
[b]Description:[/b]
{description}
[b]Steps to Reproduce:[/b]
[list]
{steps}
[/list]
[b]Repro URL:[/b] {repro_url}
One forum. Multiple forms.
User’s choice.
Assign as many forms as you need to a single forum. When a user starts a new topic, they see a clean selection page — or land directly on the form if only one is active.
Server-side. Always.
No workarounds.
Every field validated on submission regardless of client-side state. Errors surface inline per-field and as a top-level summary banner.
Injectable service. Clean API.
Full extensibility.
The central vaultbb.postforms.manager service is injectable into any Symfony DI-aware service. Build on top of forms, fields, and assignments programmatically.
| Method | Returns | Description |
|---|---|---|
| get_forms_for_forum($forum_id) | array | Active forms for a forum — cached |
| forum_has_forms($forum_id) | bool | Fast cached presence check |
| create_form($data) | int | Creates a form, returns its ID |
| create_field($form_id, $data) | int | Adds a field to a form |
| validate_submission($fields, $values) | array | Returns error keys by field_key |
| assemble_post_body($form, $fields, $values) | string | Renders the BBCode post body |
| assemble_subject($form, $fields, $values) | string | Renders the topic subject |
| assign_forum($forum_id, $form_id, $sort) | void | Adds a forum↔form assignment |
Standard install.
Up in minutes.
No Composer, no shell access required. Standard phpBB extension install — but make sure VaultBB Core is running first.
Requirements
Package
What’s changed.
Compact view of the latest Post Forms releases.
- AddedInitial Developement
Structured topics.
Happier moderators.
Stop reading half-formed posts. Give your community the forms they need to say it right the first time.