Epic #84726: Initiative: URL Routing Integration / Site Handling
Configuration of resolving and building slugs
SiteConfigurationTCA allows to have multiple routers, you configure the routers PLUS the order of the routers
- Resolves a route with a site + sitelanguage?
- Can then resolve further routes, but also based on the found language (yes!!!)
- table (all TCA tables with slug types)
- field with type=slug
- Continue to resolve if something was found?
- if() condition (ExpressionLanguage?) if it should be used?
- (like preVars/postVars)
- if() condition so it only applies if a page with ID123 was resolved first?
- Define the plugin, define allowed variables?
- Define a "keyword" (like /news/) like "postVars"
> resolveUriPart($request, $uriPart)?> canResolveUriPart? > setExistingConfiguration? > createUriPart (for building URLs, called within the PageUriBuilder)
Do we need a "route" object? and a routeCollection object? Could be useful.
Questions to discuss:
- Do wild setups with preVars for typeNum/no_cache
- Should we introduce a "PluginRouter" for all extbase / pibase shissle? Define allowed GET variables there? Would be awesome.
- Changing slugs: how should we allow that? Validation / duplication? Move old URLs to redirects extension? Should we ask that or not?
- Register the Routers and their configuration options somehow in FormEngine/SiteConfigurationTCA? How can we ensure that it's easy to configure a default site out-of-the-box?
- How can we make Routers more flexible to introduce a RestRouter?
- Should we make some magic to also handle GET/POST requests?