‪TYPO3CMS  10.4
TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper Class Reference
Inheritance diagram for TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper:
TYPO3\CMS\Core\Routing\Aspect\PersistedMappableAspectInterface TYPO3\CMS\Core\Routing\Aspect\StaticMappableAspectInterface TYPO3\CMS\Core\Context\ContextAwareInterface TYPO3\CMS\Core\Site\SiteLanguageAwareInterface TYPO3\CMS\Core\Site\SiteAwareInterface TYPO3\CMS\Core\Routing\Aspect\MappableAspectInterface TYPO3\CMS\Core\Routing\Aspect\MappableAspectInterface TYPO3\CMS\Core\Routing\Aspect\AspectInterface TYPO3\CMS\Core\Routing\Aspect\AspectInterface

Public Member Functions

 __construct (array $settings)
 
 generate (string $value)
 
 resolve (string $value)
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Core\Context\ContextAwareInterface
 setContext (Context $context)
 
 getContext ()
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Core\Site\SiteLanguageAwareInterface
 setSiteLanguage (SiteLanguage $siteLanguage)
 
Entity SiteLanguage getSiteLanguage ()
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Core\Site\SiteAwareInterface
 setSite (Site $site)
 
Entity Site getSite ()
 

Protected Member Functions

string null createRouteResult (?array $result)
 
array filterNamesKeys (array $array)
 
 findByIdentifier (string $value)
 
 findByRouteFieldValues (array $values)
 
 createQueryBuilder ()
 
array createRouteFieldConstraints (QueryBuilder $queryBuilder, array $values)
 
array null resolveOverlay (?array $record)
 
PageRepository createPageRepository ()
 

Protected Attributes

const PATTERN_RESULT = '#\{(?P<fieldName>[^}]+)\}#'
 
array $settings
 
string $tableName
 
string $routeFieldPattern
 
string $routeFieldResult
 
string[] $routeFieldResultNames
 
string null $languageFieldName
 
string null $languageParentFieldName
 
bool $slugUniqueInSite
 

Detailed Description

Very useful for building an a path segment from a combined value of the database. Please note: title is not prepared for slugs and used raw.

Example: routeEnhancers: EventsPlugin: type: Extbase extension: Events2 plugin: Pi1 routes:

  • ‪{ routePath: '/events/{event}', _controller: 'Event::detail', _arguments: {'event': 'event_name'}} defaultController: 'Events2::list' aspects: event: type: PersistedPatternMapper tableName: 'tx_events2_domain_model_event' routeFieldPattern: '^(?P<title>.+)-(?P<uid>\d+)$' routeFieldResult: '{title}-{uid}'

might change its options in the future, be aware that there might be modifications.

Definition at line 57 of file PersistedPatternMapper.php.

Constructor & Destructor Documentation

◆ __construct()

Member Function Documentation

◆ createPageRepository()

PageRepository TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::createPageRepository ( )
protected

◆ createQueryBuilder()

◆ createRouteFieldConstraints()

◆ createRouteResult()

string null TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::createRouteResult ( ?array  $result)
protected
Parameters
array | null$result
Returns
‪string|null
Exceptions

Definition at line 169 of file PersistedPatternMapper.php.

Referenced by TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper\generate().

◆ filterNamesKeys()

array TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::filterNamesKeys ( array  $array)
protected
Parameters
array$array
Returns
‪array

Definition at line 193 of file PersistedPatternMapper.php.

Referenced by TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper\resolve().

◆ findByIdentifier()

TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::findByIdentifier ( string  $value)
protected

◆ findByRouteFieldValues()

TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::findByRouteFieldValues ( array  $values)
protected

◆ generate()

TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::generate ( string  $value)

◆ resolve()

◆ resolveOverlay()

array null TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::resolveOverlay ( ?array  $record)
protected
Parameters
array | null$record
Returns
‪array|null

Definition at line 305 of file PersistedPatternMapper.php.

References TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper\createPageRepository().

Referenced by TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper\generate().

Member Data Documentation

◆ $languageFieldName

string null TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::$languageFieldName
protected

Definition at line 89 of file PersistedPatternMapper.php.

◆ $languageParentFieldName

string null TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::$languageParentFieldName
protected

◆ $routeFieldPattern

string TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::$routeFieldPattern
protected

◆ $routeFieldResult

string TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::$routeFieldResult
protected

◆ $routeFieldResultNames

string [] TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::$routeFieldResultNames
protected

◆ $settings

array TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::$settings
protected

◆ $slugUniqueInSite

bool TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::$slugUniqueInSite
protected

Definition at line 97 of file PersistedPatternMapper.php.

◆ $tableName

string TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::$tableName
protected

◆ PATTERN_RESULT

const TYPO3\CMS\Core\Routing\Aspect\PersistedPatternMapper::PATTERN_RESULT = '#\{(?P<fieldName>[^}]+)\}#'
protected

Definition at line 65 of file PersistedPatternMapper.php.