/**
  * @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();
     }
 }
Exemple #2
0
 /**
  * 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 '';
 }
Exemple #4
0
 /**
  * @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;
 }
Exemple #5
0
 /**
  * @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);
 }
Exemple #10
0
 /**
  * @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());
 }