2 declare(strict_types = 1);
46 $orderedTitleProviders = GeneralUtility::makeInstance(DependencyOrderingService::class)
47 ->orderByDependencies($titleProviders);
49 foreach ($orderedTitleProviders as $provider => $configuration) {
50 if (class_exists($configuration[
'provider']) && is_subclass_of($configuration[
'provider'], PageTitleProviderInterface::class)) {
52 $titleProviderObject = GeneralUtility::makeInstance($configuration[
'provider']);
53 if (($pageTitle = $titleProviderObject->getTitle())
54 || ($pageTitle = $this->pageTitleCache[$configuration[
'provider']] ??
'') !==
''
56 $this->pageTitleCache[$configuration[
'provider']] = $pageTitle;
89 $typoscriptService = GeneralUtility::makeInstance(TypoScriptService::class);
90 $config = $typoscriptService->convertTypoScriptArrayToPlainArray(
94 return $config[
'pageTitleProviders'] ?? [];
104 foreach ($orderInformation as $provider => &$configuration) {
105 if (isset($configuration[
'before'])) {
106 if (is_string($configuration[
'before'])) {
107 $configuration[
'before'] = GeneralUtility::trimExplode(
',', $configuration[
'before'],
true);
108 } elseif (!is_array($configuration[
'before'])) {
109 throw new \UnexpectedValueException(
110 'The specified "before" order configuration for provider "' . $provider .
'" is invalid.',
115 if (isset($configuration[
'after'])) {
116 if (is_string($configuration[
'after'])) {
117 $configuration[
'after'] = GeneralUtility::trimExplode(
',', $configuration[
'after'],
true);
118 } elseif (!is_array($configuration[
'after'])) {
119 throw new \UnexpectedValueException(
120 'The specified "after" order configuration for provider "' . $provider .
'" is invalid.',
126 return $orderInformation;