Installation
Quick start
- Install the extension (see Composer below) and run the Database Analyser in the Install Tool.
- Load the TypoScript: on TYPO3 v13 and v14 add the Site Set
proudnerds/to the site configuration, on v12 include the static template Questionnaire / Test / Decision tree. See Loading the TypoScript.pn- questionnaire - Create a Questionnaire record in the List module — a dedicated sysfolder keeps things tidy.
- Add questions, answer options and at least one result page to that record. See Building a questionnaire.
- Place the Questionnaire / Decision Tree plugin on a page and select the questionnaire record in its FlexForm.
Composer
composer require proudnerds/pn-questionnaire
TYPO3 picks the extension up automatically; there is nothing to activate by hand.
Classic mode
Install Questionnaire / Test / Decision tree from the TYPO3 Extension Repository through Admin Tools > Extensions, then activate it there.
Both routes
After the first install, run the Database Analyser in the TYPO3 Install Tool to create the seven tables, and load the TypoScript as described below.
Upgrading
Run the Database Analyser again after any update that adds a field; the
changelog says so per release. Version 1.1.0 for instance
added
introduction_ to the questionnaire table. Existing
records and plugin settings keep working as they are — no migration wizard is
needed.
Loading the TypoScript
The TypoScript itself lives in
Configuration/ and
constants. — a location every supported TYPO3 version
understands. It is offered through two routes, both pointing at those same two
files:
| TYPO3 version | Route |
|---|---|
| 14.3 | Site Set proudnerds/ (preferred) |
| 13.4 | Site Set proudnerds/ (preferred) |
| 12.4 | Static template Questionnaire / Test / Decision tree |
Site Sets were introduced in TYPO3 v13.1 and are ignored by v12, which is why
the static template exists. The files in
Configuration/ contain nothing but an
@import
of the files above.
On TYPO3 v13 and v14 — Site Set
Add the set to any site that should use the questionnaire plugin:
dependencies:
- proudnerds/pn-questionnaire
The set name is defined in
Configuration/:
name: proudnerds/pn-questionnaire
label: Questionnaire / Test / Decision tree
TYPO3 automatically includes setup. and
constants. from the set directory when the dependency is
active.
Tip
Troubleshooting — TypoScript from the set is not loaded
If the set is listed in
dependencies
but the TypoScript is still not
applied, check the root TypoScript template in the TYPO3 backend:
- Go to Web > Template, select the root page, open the template record.
- On the Options tab, make sure Clear constants and Clear setup are both unchecked.
When either flag is checked, TYPO3 discards all TypoScript that was loaded
by Site Sets before evaluating the template's own content — effectively
wiping setup. entirely. Unchecking both flags lets the
Site Set TypoScript survive and be extended by the template.
On TYPO3 v12 — static template
The extension registers Configuration/ as a selectable
static template in
Configuration/. Go to
Web > Template, open the root template record and add
Questionnaire / Test / Decision tree (pn_questionnaire) to
Include static (from extensions).
Include it before any site package that overrides the view path constants, otherwise those overrides are undone again.
Do not combine the static template with a site package that already imports
EXT:
directly — the values are identical so
setup
stays correct, but a
second pass over the constants can override a site package's view path
overrides depending on include order.
The retrieval route
Storing results produces a link of the form
/. An extension cannot register route
enhancers itself, so the site configuration has to import the shipped one:
imports:
- resource: 'EXT:pn_questionnaire/Configuration/Routing/SavedResult.yaml'
Without that import the retrieval link still works, but as a query-string URL. See The retrieval route for the details.
Backend search on TYPO3 v14
On v12 and v13 the records of this extension declare their backend search fields explicitly. TYPO3 v14 dropped that mechanism and derives searchability from the field type instead, so on v14 a search in the list module covers every text-like field of these tables rather than a curated subset. The extension follows each version's own convention; nothing needs configuring.