Speaking URLs (route enhancer) 

The extension ships a route enhancer for the detail view in EXT:jobboard/Configuration/Routes/Default.yaml. It creates URLs like https://example.org/jobs/web-developer-m-f-d instead of URLs with query parameters.

TYPO3 13.4 cannot load route enhancers from site sets. Import the file in your site configuration:

config/sites/<site-identifier>/config.yaml
imports:
  - { resource: 'EXT:jobboard/Configuration/Routes/Default.yaml' }

routeEnhancers:
  JobboardPlugin:
    limitToPages: [42]
Copied!

The enhancer has the key JobboardPlugin . It does not define limitToPages , because lists of imported YAML files are merged and cannot be replaced. Add limitToPages with the UID of your job board page below the same key, as shown above.

How it works 

  • Route /{job_title} maps to the action detail with the argument job. The default action is list .
  • The aspect PersistedAliasMapper resolves job_title with the field "URL segment" ( path_segment ) of the job.
  • The URL segment is created from the job title when a job is saved, also for imported jobs. It is unique in the whole job table, because the aspect resolves it table-wide. Changing the title does not change the URL segment. Editors can regenerate it in the job record.
  • For jobs without URL segment, for example after a migration, run the upgrade wizard jweilandJobboardJobPathSegmentUpdate, see Upgrade wizards.

URL of the PDF version 

The PDF version of a job uses the page type 1575903427. Without further configuration, its URL ends with ?type=1575903427. To get a speaking suffix, map the page type with a PageType decorator:

config/sites/<site-identifier>/config.yaml
routeEnhancers:
  PageTypeSuffix:
    type: PageType
    default: ''
    map:
      job.pdf: 1575903427
Copied!

If your site already has a PageType decorator, add the mapping to it instead of creating a second one.