‪TYPO3CMS  9.5
TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer Class Reference
Inheritance diagram for TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer:
TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer TYPO3\CMS\Core\Routing\Enhancer\RoutingEnhancerInterface TYPO3\CMS\Core\Routing\Enhancer\InflatableEnhancerInterface TYPO3\CMS\Core\Routing\Enhancer\ResultingInterface TYPO3\CMS\Core\Routing\Enhancer\EnhancerInterface TYPO3\CMS\Core\Routing\Enhancer\EnhancerInterface

Public Member Functions

 __construct (array $configuration)
 
 enhanceForMatching (RouteCollection $collection)
 
 enhanceForGeneration (RouteCollection $collection, array $originalParameters)
 
array inflateParameters (array $parameters, array $internals=[])
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer
 buildResult (Route $route, array $results, array $remainingQueryParameters=[])
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer
 setAspects (array $aspects)
 
 getAspects ()
 

Protected Member Functions

 getVariant (Route $defaultPageRoute, array $configuration)
 
bool verifyRequiredParameters (Route $route, array $parameters)
 
bool hasControllerActionValues (array $target)
 
 applyControllerActionValues (string $controllerActionValue, array &$target, bool $tryUpdate=false)
 
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer
array getNamespacedRequirements ()
 
array deflateParameters (Route $route, array $parameters)
 
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer
 applyRouteAspects (Route $route, array $aspects, string $namespace=null)
 
 applyRequirements (Route $route, array $requirements, string $namespace=null)
 
array filterValuesByPathVariables (Route $route, array $values)
 
array overrideValuesByAspect (Route $route, array $values, string $targetValue)
 
array defineValuesByAspect (Route $route, array $values, string $targetValue)
 
string modifyRoutePath (string $routePath)
 
string resolveType (Route $route, array &$remainingQueryParameters)
 
VariableProcessor getVariableProcessor ()
 

Protected Attributes

array $routesOfPlugin
 
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer
array $configuration
 
string $namespace
 
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer
AspectInterface[] $aspects = array( )
 
VariableProcessor $variableProcessor
 

Detailed Description

Allows to have a plugin with multiple controllers + actions for one specific plugin that has a namespace.

A typical configuration looks like this:

routeEnhancers: BlogExample: type: Extbase extension: BlogExample plugin: Pi1 routes:

  • ‪{ routePath: '/blog/{page}', _controller: 'Blog::list', _arguments: {'page': '@widget_0/currentPage'} }
  • ‪{ routePath: '/blog/{slug}', _controller: 'Blog::detail' } requirements: page: '[0-9]+' slug: '.*'

Definition at line 40 of file ExtbasePluginEnhancer.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer::__construct ( array  $configuration)

Member Function Documentation

◆ applyControllerActionValues()

TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer::applyControllerActionValues ( string  $controllerActionValue,
array &  $target,
bool  $tryUpdate = false 
)
protected

Add controller and action parameters so they can be used later-on.

Parameters
string$controllerActionValue
array$target‪Reference to target array to be modified
bool$tryUpdate‪Try updating action value - but only if controller value matches

Definition at line 227 of file ExtbasePluginEnhancer.php.

Referenced by TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer\enhanceForGeneration(), and TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer\inflateParameters().

◆ enhanceForGeneration()

TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer::enhanceForGeneration ( RouteCollection  $collection,
array  $originalParameters 
)

◆ enhanceForMatching()

TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer::enhanceForMatching ( RouteCollection  $collection)

{‪{‪Extends route collection with all routes. Used during URL resolving.

Parameters
RouteCollection$collection
}}

Reimplemented from TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer.

Definition at line 65 of file ExtbasePluginEnhancer.php.

References TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer\$configuration, and TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer\getVariant().

◆ getVariant()

◆ hasControllerActionValues()

bool TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer::hasControllerActionValues ( array  $target)
protected

Check if action and controller are not empty.

Parameters
array$target
Returns
‪bool

Definition at line 215 of file ExtbasePluginEnhancer.php.

Referenced by TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer\enhanceForGeneration().

◆ inflateParameters()

array TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer::inflateParameters ( array  $parameters,
array  $internals = [] 
)

A route has matched the controller/action combination, so ensure that these properties are set to tx_blogexample_pi1[controller] and tx_blogexample_pi1[action].

Parameters
array$parameters‪Actual parameter payload to be used
array$internals‪Internal instructions (_route, _controller, ...)
Returns
‪array

Reimplemented from TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer.

Definition at line 166 of file ExtbasePluginEnhancer.php.

References TYPO3\CMS\Core\Routing\Enhancer\PluginEnhancer\$namespace, TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer\applyControllerActionValues(), TYPO3\CMS\Core\Routing\Enhancer\AbstractEnhancer\getVariableProcessor(), and TYPO3\CMS\Core\Routing\Enhancer\VariableProcessor\inflateNamespaceParameters().

◆ verifyRequiredParameters()

bool TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer::verifyRequiredParameters ( Route  $route,
array  $parameters 
)
protected

Check if controller+action combination matches

Parameters
Route$route
array$parameters
Returns
‪bool

Definition at line 191 of file ExtbasePluginEnhancer.php.

Referenced by TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer\enhanceForGeneration().

Member Data Documentation

◆ $routesOfPlugin

array TYPO3\CMS\Extbase\Routing\ExtbasePluginEnhancer::$routesOfPlugin
protected

Definition at line 44 of file ExtbasePluginEnhancer.php.