/**
  * Asks the ViewHelper for argument definitions and adds
  * a case which matches our custom ViewHelper in order to
  * manipulate its argument definitions.
  *
  * @param ViewHelperInterface $viewHelper
  * @return ArgumentDefinition[]
  */
 public function getArgumentDefinitionsForViewHelper(ViewHelperInterface $viewHelper)
 {
     $arguments = parent::getArgumentDefinitionsForViewHelper($viewHelper);
     if ($viewHelper instanceof CustomViewHelper) {
         $arguments['page'] = new ArgumentDefinition('page', 'array', 'This is our new description for the argument', FALSE, array('foo' => 'bar'));
     }
     return $arguments;
 }
예제 #2
0
 /**
  * Constructor.
  *
  * @param ViewHelperResolver an instance or subclass of ViewHelperResolver
  * @param string $namespace the namespace identifier of the ViewHelper.
  * @param string $identifier the name of the ViewHelper to render, inside the namespace provided.
  * @param NodeInterface[] $arguments Arguments of view helper - each value is a RootNode.
  * @param ParsingState $state
  */
 public function __construct(ViewHelperResolver $resolver, $namespace, $identifier, array $arguments, ParsingState $state)
 {
     $this->viewHelperResolver = $resolver;
     $this->viewHelperClassName = $resolver->resolveViewHelperClassName($namespace, $identifier);
     $this->uninitializedViewHelper = $resolver->createViewHelperInstance($namespace, $identifier);
     $this->arguments = $arguments;
     $this->argumentDefinitions = $resolver->getArgumentDefinitionsForViewHelper($this->uninitializedViewHelper);
     $this->rewriteBooleanNodesInArgumentsObjectTree($this->argumentDefinitions, $this->arguments);
 }