/** * @param RenderingContextInterface $renderingContext * @return void */ public function setRenderingContext(RenderingContextInterface $renderingContext) { $this->renderingContext = $renderingContext; $this->templateVariableContainer = $renderingContext->getVariableProvider(); $this->viewHelperVariableContainer = $renderingContext->getViewHelperVariableContainer(); if ($renderingContext instanceof FlowAwareRenderingContextInterface) { $this->controllerContext = $renderingContext->getControllerContext(); } }
/** * Return array element by key. * * @param array $arguments * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return string * @api */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { $element = $arguments['element']; $formRuntime = $arguments['formRuntime']; $property = null; if (!empty($arguments['property'])) { $property = $arguments['property']; } elseif (!empty($arguments['renderingOptionProperty'])) { $property = $arguments['renderingOptionProperty']; } if ($formRuntime === null) { /** @var RendererInterface $fluidFormRenderer */ $fluidFormRenderer = $renderingContext->getViewHelperVariableContainer()->getView(); $formRuntime = $fluidFormRenderer->getFormRuntime(); } return TranslationService::getInstance()->translateFormElementValue($element, $property, $formRuntime); }
/** * @param array $arguments * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * * @return mixed|string * @throws Exception */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { $value = $arguments['value']; $default = $arguments['default']; $viewHelperVariableContainer = $renderingContext->getViewHelperVariableContainer(); if ($default !== false) { GeneralUtility::deprecationLog('Argument "default" on f:case is deprecated - use f:defaultCase instead'); } if ($value === null && $default === false) { throw new Exception('The case View helper must have either value or default argument', 1382867521); } $expression = $viewHelperVariableContainer->get(OriginalSwitchViewHelper::class, 'switchExpression'); // non-type-safe comparison by intention if ($default === true || $expression == $value) { $viewHelperVariableContainer->addOrUpdate(OriginalSwitchViewHelper::class, 'break', true); return $renderChildrenClosure(); } return ''; }
/** * @param array $arguments * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return mixed */ public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext) { $values = $arguments['values']; $as = $arguments['as']; if ($values === null) { return $renderChildrenClosure(); } $values = static::initializeValues($values); $index = static::initializeIndex($as, $renderingContext->getViewHelperVariableContainer()); $currentValue = isset($values[$index]) ? $values[$index] : null; $renderingContext->getVariableProvider()->add($as, $currentValue); $output = $renderChildrenClosure(); $renderingContext->getVariableProvider()->remove($as); $index++; if (!isset($values[$index])) { $index = 0; } $renderingContext->getViewHelperVariableContainer()->addOrUpdate(static::class, $as, $index); return $output; }
/** * @param RenderingContextInterface $renderingContext * @return void */ public function setRenderingContext(RenderingContextInterface $renderingContext) { $this->renderingContext = $renderingContext; $this->templateVariableContainer = $renderingContext->getVariableProvider(); $this->viewHelperVariableContainer = $renderingContext->getViewHelperVariableContainer(); }
/** * @test */ public function viewHelperVariableContainerCanBeReadCorrectly() { $viewHelperVariableContainer = $this->getMock(\TYPO3\CMS\Fluid\Core\ViewHelper\ViewHelperVariableContainer::class); $this->renderingContext->_set('viewHelperVariableContainer', $viewHelperVariableContainer); $this->assertSame($viewHelperVariableContainer, $this->renderingContext->getViewHelperVariableContainer()); }
/** * Injects a fresh rendering context * * @param RenderingContextInterface $renderingContext * @return void */ public function setRenderingContext(RenderingContextInterface $renderingContext) { $this->baseRenderingContext = $renderingContext; $this->baseRenderingContext->getViewHelperVariableContainer()->setView($this); }
/** * @param \TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface $renderingContext * @return void */ public function setRenderingContext(\TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface $renderingContext) { $this->renderingContext = $renderingContext; $this->templateVariableContainer = $renderingContext->getVariableProvider(); $this->viewHelperVariableContainer = $renderingContext->getViewHelperVariableContainer(); if ($renderingContext instanceof \TYPO3\CMS\Fluid\Core\Rendering\RenderingContext) { $this->controllerContext = $renderingContext->getControllerContext(); } }
/** * Initialize the RenderingContext. This method can be overridden in your * View implementation to manipulate the rendering context *before* it is * passed during rendering. */ public function initializeRenderingContext() { $this->baseRenderingContext->getViewHelperVariableContainer()->setView($this); }
/** * @test */ public function viewHelperVariableContainerCanBeReadCorrectly() { $viewHelperVariableContainer = $this->getMock(ViewHelperVariableContainer::class); $this->renderingContext->setViewHelperVariableContainer($viewHelperVariableContainer); $this->assertSame($viewHelperVariableContainer, $this->renderingContext->getViewHelperVariableContainer()); }
/** * @test */ public function viewHelperVariableContainerCanBeReadCorrectly() { $viewHelperVariableContainer = $this->getMock('TYPO3Fluid\\Fluid\\Core\\ViewHelper\\ViewHelperVariableContainer'); $this->renderingContext->injectViewHelperVariableContainer($viewHelperVariableContainer); $this->assertSame($viewHelperVariableContainer, $this->renderingContext->getViewHelperVariableContainer()); }