---
title: "TypoScript"
manual: "Job board"
version: "main"
permalink: "https://docs.typo3.org/permalink/jweiland/jobboard:configuration-typoscript@main"
source: "Configuration/TypoScript.rst"
rendered: "2026-10-22T13:15:25+00:00"
---

# TypoScript {#configuration-typoscript}

The site set `jweiland/jobboard` provides this TypoScript setup. You
normally configure the job board with the
[site settings](https://docs.typo3.org/permalink/jweiland/jobboard:configuration-site-settings@main) and only need
TypoScript for special cases.

**EXT:jobboard/Configuration/Sets/Jobboard/setup.typoscript**

```typoscript
plugin.tx_jobboard {
  view {
    templateRootPaths {
      0 = EXT:jobboard/Resources/Private/Templates/
      1 = {$jobboard.templateRootPath}
    }
    partialRootPaths {
      0 = EXT:jobboard/Resources/Private/Partials/
      1 = {$jobboard.partialRootPath}
      # Partial "Maps2/PoiCollection" of the optional EXT:maps2. It is only
      # rendered, if EXT:maps2 is installed. Otherwise, this path resolves
      # to nothing and is ignored.
      2 = EXT:maps2/Resources/Private/Partials/
    }
    layoutRootPaths {
      0 = EXT:jobboard/Resources/Private/Layouts/
      1 = {$jobboard.layoutRootPath}
    }
  }

  persistence {
    storagePid = {$jobboard.storagePid}
    recursive = 3
  }

  settings {
    pidOfDetailPage = {$jobboard.pidOfDetailPage}
    pidOfApplicationForm = {$jobboard.pidOfApplicationForm}
    showJobAreaCount = {$jobboard.showJobAreaCount}
  }

  # Use the TypoScript value, if the FlexForm option is empty
  ignoreFlexFormSettingsIfEmpty = showJobAreaCount
}

# Show the job title as page title on the detail view. Must be ordered before
# "seo" (page field "seo_title") and "record" (page title) as the first
# provider returning a non-empty title wins.
config.pageTitleProviders {
  jobboard {
    provider = JWeiland\Jobboard\PageTitle\JobPageTitleProvider
    before = record, seo
  }
}

```

## View paths {#configuration-typoscript-view}

The template, partial and layout paths of index `1` come from
the site settings. The partial path of index `2` contains the
partial `Maps2/PoiCollection` of EXT:maps2, which renders the map.
Without EXT:maps2, this path is ignored. See [Templates and frontend assets](https://docs.typo3.org/permalink/jweiland/jobboard:templates@main) for
overriding templates.

## Storage folder {#configuration-typoscript-persistence}

`persistence.storagePid` is set from the site setting
[jobboard.storagePid](https://docs.typo3.org/permalink/jweiland/jobboard:confval-jobboard-storagepid@main). `persistence.recursive = 3`
finds jobs in up to three levels of subpages of the storage folders.

The content element "Job board" has no field "Record Storage Page". The
storage folder is configured for the whole site.

## Settings in Fluid {#configuration-typoscript-settings}

These values are available as `{settings.<name>}` in all templates
of the plugin, together with the options of the content element
(see [Content element "Job board"](https://docs.typo3.org/permalink/jweiland/jobboard:configuration-plugin@main)):

-   `settings.pidOfDetailPage`
-   `settings.pidOfApplicationForm`
-   `settings.showJobAreaCount`

## Empty content element options {#configuration-typoscript-ignoreflexform}

`ignoreFlexFormSettingsIfEmpty = showJobAreaCount` lets an
empty option "Show number of jobs per job area" of the content element
fall back to the TypoScript value. Extbase treats an empty string and
`0` as empty. That is why the option "Hide" of the content element
stores the value `-1`. Only the value `1` shows the number of
jobs.

## Page title provider {#configuration-typoscript-pagetitle}

`config.pageTitleProviders.jobboard` registers the page title
provider of the detail view. See [Job title as page title](https://docs.typo3.org/permalink/jweiland/jobboard:configuration-page-title@main).
