---
title: "Routes"
manual: "clubdirectory"
version: "9.0"
permalink: "https://docs.typo3.org/permalink/jweiland/clubdirectory:routes@9.0"
source: "Administrator/Routes/Index.rst"
rendered: "2026-11-03T10:51:39+00:00"
---

# Routes {#routes}

You can configure an [Extbase plugin enhancer](https://docs.typo3.org/m/typo3/reference-coreapi/14.3/en-us/ApiOverview/Routing/EnhancementsAspects/Index.html#routing-extbase-plugin-enhancer) for speaking URLs of the
`Clubdirectory` plugin.

The column `path_segment` of a club is generated like DataHandler does:
the title of the club, made unique with a suffix like `-1`. Since version
9.0.0 the UID of the club is not part of the path segment anymore, so do
not add a requirement for the UID to `club_title`.

## Example configuration {#routes-example}

**config/sites/main/config.yaml**

```yaml
routeEnhancers:
  ClubdirectoryPlugin:
    type: Extbase
    extension: Clubdirectory
    plugin: Clubdirectory
    routes:
      -
        routePath: '/first-club-page'
        _controller: 'Club::list'
      -
        routePath: '/club-page-{page}'
        _controller: 'Club::list'
        _arguments:
          page: 'currentPage'
      -
        routePath: '/club-by-letter/{letter}'
        _controller: 'Club::list'
      -
        routePath: '/show/{club_title}'
        _controller: 'Club::show'
        _arguments:
          club_title: club
    requirements:
      page: '\d+'
      letter: '^(0-9|[a-z])$'
    defaultController: 'Club::list'
    aspects:
      club_title:
        type: PersistedAliasMapper
        tableName: tx_clubdirectory_domain_model_club
        routeFieldName: path_segment
```

The actions of the plugins `Club Directory Management` and
`Club Directory Search` are not cached and are usually called with form
data or with the signed links of the notification mails. A route enhancer
is not required for them.
