TypoScript 

The site set jweiland/jobboard provides this TypoScript setup. You normally configure the job board with the site settings and only need TypoScript for special cases.

EXT:jobboard/Configuration/Sets/Jobboard/setup.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
  }
}
Copied!

View paths 

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 for overriding templates.

Storage folder 

persistence.storagePid is set from the site setting jobboard.storagePid. 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 

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"):

  • settings.pidOfDetailPage
  • settings.pidOfApplicationForm
  • settings.showJobAreaCount

Empty content element options 

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 

config.pageTitleProviders.jobboard registers the page title provider of the detail view. See Job title as page title.