19 use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
20 use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
21 use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
55 use CompileWithRenderStatic;
62 $this->registerArgument(
'path',
'string',
'The path and filename of the resource (relative to Public resource directory of the extension).',
true);
63 $this->registerArgument(
'extensionName',
'string',
'Target extension name. If not set, the current extension name will be used');
64 $this->registerArgument(
'absolute',
'bool',
'If set, an absolute URI is rendered',
false,
false);
75 public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
77 $path = $arguments[
'path'];
78 $extensionName = $arguments[
'extensionName'];
79 $absolute = $arguments[
'absolute'];
81 if ($extensionName ===
null) {
82 $extensionName = $renderingContext->getControllerContext()->getRequest()->getControllerExtensionName();
84 $uri =
'EXT:' . GeneralUtility::camelCaseToLowerCaseUnderscored($extensionName) .
'/Resources/Public/' . $path;
85 $uri = GeneralUtility::getFileAbsFileName($uri);
86 if ($absolute ===
false && $uri !==
false) {
89 if ($absolute ===
true) {
91 $uri = $renderingContext->getControllerContext()->getRequest()->getBaseUri() . $uri;