public function evaluateChildNodes(\TYPO3\CMS\Fluid\Core\Rendering\RenderingContextInterface $renderingContext) { $identifiers = $this->variableContainer->getAllIdentifiers(); $callElement = array(); foreach ($identifiers as $identifier) { $callElement[$identifier] = $this->variableContainer->get($identifier); } $this->callProtocol[] = $callElement; }
/** * Save the associated view helper node in a static public class variable. * called directly after the view helper was built. * * @param \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode $syntaxTreeNode * @param array $viewHelperArguments * @param \TYPO3\CMS\Fluid\Core\ViewHelper\TemplateVariableContainer $variableContainer * @return void */ public static function postParseEvent(\TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode $syntaxTreeNode, array $viewHelperArguments, \TYPO3\CMS\Fluid\Core\ViewHelper\TemplateVariableContainer $variableContainer) { $sectionName = $viewHelperArguments['name']->getText(); if (!$variableContainer->exists('sections')) { $variableContainer->add('sections', array()); } $sections = $variableContainer->get('sections'); $sections[$sectionName] = $syntaxTreeNode; $variableContainer->remove('sections'); $variableContainer->add('sections', $sections); }
/** * Returns a backup of all $variables from $variableContainer and removes them. * * @param TemplateVariableContainer $variableContainer * @param array $variables * @return array */ public static function backupVariables(TemplateVariableContainer $variableContainer, array $variables) { $backups = array(); foreach ($variables as $variableName => $variableValue) { if (TRUE === $variableContainer->exists($variableName)) { $backups[$variableName] = $variableContainer->get($variableName); $variableContainer->remove($variableName); } $variableContainer->add($variableName, $variableValue); } return $backups; }
/** * @param array $variables * @param \TYPO3\CMS\Fluid\Core\ViewHelper\TemplateVariableContainer $templateVariableContainer * @return array */ private static function backupVariables(array $variables, $templateVariableContainer) { $backups = []; foreach ($variables as $variableName => $variableValue) { if (true === $templateVariableContainer->exists($variableName)) { $backups[$variableName] = $templateVariableContainer->get($variableName); $templateVariableContainer->remove($variableName); } $templateVariableContainer->add($variableName, $variableValue); } return $backups; }
/** * @test */ public function getAllShouldReturnAllVariables() { $this->variableContainer->add('name', 'Simon'); $this->assertSame(array('name' => 'Simon'), $this->variableContainer->get('_all')); }