/** * Save the associated view helper node in a static public class variable. * called directly after the view helper was built. * * @param \TYPO3\Fluid\Core\Parser\SyntaxTree\ViewHelperNode $syntaxTreeNode * @param array $viewHelperArguments * @param \TYPO3\Fluid\Core\ViewHelper\TemplateVariableContainer $variableContainer * @return void */ public static function postParseEvent(\TYPO3\Fluid\Core\Parser\SyntaxTree\ViewHelperNode $syntaxTreeNode, array $viewHelperArguments, \TYPO3\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); }
/** * @test * @expectedException \TYPO3\Fluid\Core\ViewHelper\Exception\InvalidVariableException */ public function removeReallyRemovesVariables() { $this->variableContainer->add('variable', 'string1'); $this->variableContainer->remove('variable'); $this->variableContainer->get('variable'); }
/** * Save the associated ViewHelper node in a static public class variable. * called directly after the ViewHelper was built. * * @param ViewHelperNode $syntaxTreeNode * @param array $viewHelperArguments<TextNode> * @param TemplateVariableContainer $variableContainer * @return void */ public static function postParseEvent(ViewHelperNode $syntaxTreeNode, array $viewHelperArguments, TemplateVariableContainer $variableContainer) { /** @var $nameArgument TextNode */ $nameArgument = $viewHelperArguments['name']; $sectionName = $nameArgument->getText(); if (!$variableContainer->exists('sections')) { $variableContainer->add('sections', array()); } $sections = $variableContainer->get('sections'); $sections[$sectionName] = $syntaxTreeNode; $variableContainer->remove('sections'); $variableContainer->add('sections', $sections); }