diff --git a/Classes/ViewHelpers/Controller/FluidJsonController.php b/Classes/ViewHelpers/Controller/FluidJsonController.php index 2f9a037..46a4a2b 100644 --- a/Classes/ViewHelpers/Controller/FluidJsonController.php +++ b/Classes/ViewHelpers/Controller/FluidJsonController.php @@ -11,6 +11,7 @@ use Doctrine\ORM\Query\Parameter; use Neos\Flow\Annotations as Flow; use Neos\Flow\Persistence\Doctrine\Query; use Neos\FluidAdaptor\Core\Widget\AbstractWidgetController; +use Neos\FluidAdaptor\View\TemplateView; use Neos\Utility\TypeHandling; class FluidJsonController extends AbstractWidgetController @@ -80,6 +81,12 @@ class FluidJsonController extends AbstractWidgetController public function indexAction() { $this->view->assign('entityClassName', $this->query->getType()); + if ($this->view instanceof TemplateView) { + $renderingContext = $this->request + ->getInternalArgument('__widgetContext') + ->getViewHelperChildNodeRenderingContext(); + $this->view->assignMultiple($renderingContext->getVariableProvider()->getAll()); + } } /** diff --git a/Classes/ViewHelpers/FluidJsonViewHelper.php b/Classes/ViewHelpers/FluidJsonViewHelper.php index 717c226..665d20b 100644 --- a/Classes/ViewHelpers/FluidJsonViewHelper.php +++ b/Classes/ViewHelpers/FluidJsonViewHelper.php @@ -6,6 +6,7 @@ namespace DigiComp\FluidJsonViews\ViewHelpers; use DigiComp\FluidJsonViews\ViewHelpers\Controller\FluidJsonController; use DigiComp\FluidRenderFunctions\InvokeRenderFunctionInterface; +use DigiComp\FluidRenderFunctions\ViewHelpers\Traits\ValidateRenderFunctionTrait; use Neos\Flow\Annotations as Flow; use Neos\Flow\Mvc\Exception\InfiniteLoopException; use Neos\Flow\Mvc\Exception\StopActionException; @@ -16,6 +17,8 @@ use Neos\FluidAdaptor\Core\Widget\Exception\MissingControllerException; class FluidJsonViewHelper extends AbstractWidgetViewHelper { + use ValidateRenderFunctionTrait; + /** * @inheritDoc * @Flow\Inject @@ -51,6 +54,12 @@ class FluidJsonViewHelper extends AbstractWidgetViewHelper ); } + public function validateArguments() + { + parent::validateArguments(); + $this->validateRenderFunctionArgument('renderFunction'); + } + /** * @throws InfiniteLoopException * @throws InvalidControllerException diff --git a/README.md b/README.md index 6d3229b..60167a1 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ Let me provide you an example: {subject.name} - + jsonView ```