‪TYPO3CMS  11.5
ExternalUrlLinkBuilder.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
22 
27 {
31  public function ‪build(array &$linkDetails, string $linkText, string $target, array $conf): ‪LinkResultInterface
32  {
33  $url = $this->‪processUrl(‪UrlProcessorInterface::CONTEXT_EXTERNAL, $linkDetails['url'], $conf);
34  $linkText = $this->‪encodeFallbackLinkTextIfLinkTextIsEmpty($linkText, $linkDetails['url']);
35  return (new ‪LinkResult(‪LinkService::TYPE_URL, (string)$url))
36  ->withLinkConfiguration($conf)
37  ->withTarget(
38  $target ?: $this->‪resolveTargetAttribute($conf, 'extTarget', true, $this->‪getTypoScriptFrontendController()->extTarget),
39  )
40  ->withLinkText($linkText);
41  }
42 }
‪TYPO3\CMS\Frontend\Http\UrlProcessorInterface
Definition: UrlProcessorInterface.php:27
‪TYPO3\CMS\Frontend\Http\UrlProcessorInterface\CONTEXT_EXTERNAL
‪const CONTEXT_EXTERNAL
Definition: UrlProcessorInterface.php:31