20 use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
21 use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
22 use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
60 use CompileWithRenderStatic;
67 $this->registerArgument(
'parameter',
'string',
'stdWrap.typolink style parameter string',
true);
68 $this->registerArgument(
'additionalParams',
'string',
'stdWrap.typolink additionalParams',
false,
'');
69 $this->registerArgument(
'useCacheHash',
'bool',
'',
false,
false);
70 $this->registerArgument(
'addQueryString',
'bool',
'',
false,
false);
71 $this->registerArgument(
'addQueryStringMethod',
'string',
'',
false,
'GET');
72 $this->registerArgument(
'addQueryStringExclude',
'string',
'',
false,
'');
73 $this->registerArgument(
'absolute',
'bool',
'Ensure the resulting URL is an absolute URL',
false,
false);
83 public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
85 $parameter = $arguments[
'parameter'];
86 $additionalParams = $arguments[
'additionalParams'];
87 $useCacheHash = $arguments[
'useCacheHash'];
88 $addQueryString = $arguments[
'addQueryString'];
89 $addQueryStringMethod = $arguments[
'addQueryStringMethod'];
90 $addQueryStringExclude = $arguments[
'addQueryStringExclude'];
91 $absolute = $arguments[
'absolute'];
95 $contentObject = GeneralUtility::makeInstance(ContentObjectRenderer::class);
96 $content = $contentObject->typoLink_URL(
98 'parameter' => self::createTypolinkParameterFromArguments($parameter, $additionalParams),
99 'useCacheHash' => $useCacheHash,
100 'addQueryString' => $addQueryString,
101 'addQueryString.' => [
102 'method' => $addQueryStringMethod,
103 'exclude' => $addQueryStringExclude
105 'forceAbsoluteUrl' => $absolute
123 $typoLinkCodec = GeneralUtility::makeInstance(TypoLinkCodecService::class);
124 $typolinkConfiguration = $typoLinkCodec->decode($parameter);
127 if ($additionalParameters) {
128 $typolinkConfiguration[
'additionalParams'] .= $additionalParameters;
131 return $typoLinkCodec->encode($typolinkConfiguration);