TSFE since TYPO3 10

    protected function getUrl(int $pageUid): string
    {
        /** @var SiteFinder $siteFinder */
        $siteFinder = GeneralUtility::makeInstance(SiteFinder::class);
        $site = $siteFinder->getSiteByPageId($pageUid);

        /** @var TypoScriptFrontendController $controller */
        $controller = GeneralUtility::makeInstance(
            TypoScriptFrontendController::class,
            $this->context,
            $site,
            $site->getDefaultLanguage(),
            null,
            $this->context->getAspect('frontend.user')
        );
        $controller->sys_page = GeneralUtility::makeInstance(PageRepository::class, $this->context);
        $GLOBALS['TSFE'] = $controller;

        $cObj = GeneralUtility::makeInstance(ContentObjectRenderer::class);
        $this->configurationManager->setContentObject($cObj);

        $uriBuilder = GeneralUtility::makeInstance(UriBuilder::class, $cObj);
        $uriBuilder->injectConfigurationManager($this->configurationManager);
        $uriBuilder->initializeObject();

        return $uriBuilder
            ->setTargetPageUid($pageUid)
            ->setCreateAbsoluteUri(true)
            ->buildFrontendUri();
    }
Meine Mission

Ziel meiner Veröffentlichungen ist es, meine Begeisterung für die Programmierung und das über die Jahre gewonnene Wissen mit anderen Entwicklern zu teilen. Dabei ist es mir wichtig, Lösungen zu thematisieren für die ich in Suchmaschinen keine Antworten finden konnte. Außerdem versuche ich die von mir veröffentlichten Extensions an Beispielen zu erläutern.

evoWeb © 2019