Neos.Neos/Classes/Fusion/PluginViewImplementation.php
protected function buildPluginRequest()
    {
        /** @var $parentRequest ActionRequest */
        $parentRequest = $this->runtime->getControllerContext()->getRequest();
        $pluginRequest = new ActionRequest($parentRequest);

        if (!$this->pluginViewNode instanceof NodeInterface) {
            $pluginRequest->setArgumentNamespace('--' . $this->getPluginNamespace());
            $this->passArgumentsToPluginRequest($pluginRequest);
            $pluginRequest->setControllerPackageKey($this->getPackage());
            $pluginRequest->setControllerSubpackageKey($this->getSubpackage());
            $pluginRequest->setControllerName($this->getController());
            $pluginRequest->setControllerActionName($this->getAction());
            return $pluginRequest;
        }

        $pluginNodeIdentifier = $this->pluginViewNode->getProperty('plugin');
        if (strlen($pluginNodeIdentifier) === 0) {
            return $pluginRequest;
        }

        // Set the node to render this to the master plugin node
        $this->node = $this->pluginViewNode->getContext()->getNodeByIdentifier($pluginNodeIdentifier);
        if ($this->node === null) {
            return $pluginRequest;
        }

        $pluginRequest->setArgument('__node', $this->node);
        $pluginRequest->setArgumentNamespace('--' . $this->getPluginNamespace());
        $this->passArgumentsToPluginRequest($pluginRequest);

        if ($pluginRequest->getControllerObjectName() !== '') {
            return $pluginRequest;
        }

        $controllerObjectPairs = [];
        $pluginViewName = $this->pluginViewNode->getProperty('view');
        foreach ($this->pluginService->getPluginViewDefinitionsByPluginNodeType($this->node->getNodeType()) as $pluginViewDefinition) {
            /** @var PluginViewDefinition $pluginViewDefinition */
            if ($pluginViewDefinition->getName() !== $pluginViewName) {
                continue;
            }
            $controllerObjectPairs = $pluginViewDefinition->getControllerActionPairs();
            break;
        }

        if ($controllerObjectPairs === []) {
            return $pluginRequest;
        }

        $defaultControllerObjectName = key($controllerObjectPairs);
        $defaultActionName = current($controllerObjectPairs[$defaultControllerObjectName]);
        $pluginRequest->setControllerObjectName($defaultControllerObjectName);
        $pluginRequest->setControllerActionName($defaultActionName);

        return $pluginRequest;
    }
protected function buildPluginRequest()
    {
        /** @var $parentRequest ActionRequest */
        $parentRequest = $this->runtime->getControllerContext()->getRequest();
        $pluginRequest = new ActionRequest($parentRequest);

        if (!$this->pluginViewNode instanceof NodeInterface) {
            $pluginRequest->setArgumentNamespace('--' . $this->getPluginNamespace());
            $this->passArgumentsToPluginRequest($pluginRequest);
            $pluginRequest->setControllerPackageKey($this->getPackage());
            $pluginRequest->setControllerSubpackageKey($this->getSubpackage());
            $pluginRequest->setControllerName($this->getController());
            $pluginRequest->setControllerActionName($this->getAction());
            return $pluginRequest;
        }

        $pluginNodeIdentifier = $this->pluginViewNode->getProperty('plugin');
        if (strlen($pluginNodeIdentifier) === 0) {
            return $pluginRequest;
        }

        // Set the node to render this to the master plugin node
        $this->node = $this->pluginViewNode->getContext()->getNodeByIdentifier($pluginNodeIdentifier);
        if ($this->node === null) {
            return $pluginRequest;
        }

        $pluginRequest->setArgument('__node', $this->node);
        $pluginRequest->setArgumentNamespace('--' . $this->getPluginNamespace());
        $this->passArgumentsToPluginRequest($pluginRequest);

        if ($pluginRequest->getControllerObjectName() !== '') {
            return $pluginRequest;
        }

        $controllerObjectPairs = [];
        $pluginViewName = $this->pluginViewNode->getProperty('view');
        foreach ($this->pluginService->getPluginViewDefinitionsByPluginNodeType($this->node->getNodeType()) as $pluginViewDefinition) {
            /** @var PluginViewDefinition $pluginViewDefinition */
            if ($pluginViewDefinition->getName() !== $pluginViewName) {
                continue;
            }
            $controllerObjectPairs = $pluginViewDefinition->getControllerActionPairs();
            break;
        }

        if ($controllerObjectPairs === []) {
            return $pluginRequest;
        }

        $defaultControllerObjectName = key($controllerObjectPairs);
        $defaultActionName = current($controllerObjectPairs[$defaultControllerObjectName]);
        $pluginRequest->setControllerObjectName($defaultControllerObjectName);
        $pluginRequest->setControllerActionName($defaultActionName);

        return $pluginRequest;
    }
protected function buildPluginRequest ( ) { /** @var $parentRequest ActionRequest */ $ parentRequest = $ this -> runtime -> getControllerContext ( ) -> getRequest ( ) ; $ pluginRequest = new ActionRequest ( $ parentRequest ) ; if ( ! $ this -> pluginViewNode instanceof NodeInterface ) { $ pluginRequest -> setArgumentNamespace ( '--' . $ this -> getPluginNamespace ( ) ) ; $ this -> passArgumentsToPluginRequest ( $ pluginRequest ) ; $ pluginRequest -> setControllerPackageKey ( $ this -> getPackage ( ) ) ; $ pluginRequest -> setControllerSubpackageKey ( $ this -> getSubpackage ( ) ) ; $ pluginRequest -> setControllerName ( $ this -> getController ( ) ) ; $ pluginRequest -> setControllerActionName ( $ this -> getAction ( ) ) ; return $ pluginRequest ; } $ pluginNodeIdentifier = $ this -> pluginViewNode -> getProperty ( 'plugin' ) ; if ( strlen ( $ pluginNodeIdentifier ) === 0 ) { return $ pluginRequest ; } // Set the node to render this to the master plugin node $ this -> node = $ this -> pluginViewNode -> getContext ( ) -> getNodeByIdentifier ( $ pluginNodeIdentifier ) ; if ( $ this -> node === null ) { return $ pluginRequest ; } $ pluginRequest -> setArgument ( '__node' , $ this -> node ) ; $ pluginRequest -> setArgumentNamespace ( '--' . $ this -> getPluginNamespace ( ) ) ; $ this -> passArgumentsToPluginRequest ( $ pluginRequest ) ; if ( $ pluginRequest -> getControllerObjectName ( ) !== '' ) { return $ pluginRequest ; } $ controllerObjectPairs = [ ] ; $ pluginViewName = $ this -> pluginViewNode -> getProperty ( 'view' ) ; foreach ( $ this -> pluginService -> getPluginViewDefinitionsByPluginNodeType ( $ this -> node -> getNodeType ( ) ) as $ pluginViewDefinition ) { /** @var PluginViewDefinition $pluginViewDefinition */ if ( $ pluginViewDefinition -> getName ( ) !== $ pluginViewName ) { continue ; } $ controllerObjectPairs = $ pluginViewDefinition -> getControllerActionPairs ( ) ; break ; } if ( $ controllerObjectPairs === [ ] ) { return $ pluginRequest ; } $ defaultControllerObjectName = key ( $ controllerObjectPairs ) ; $ defaultActionName = current ( $ controllerObjectPairs [ $ defaultControllerObjectName ] ) ; $ pluginRequest -> setControllerObjectName ( $ defaultControllerObjectName ) ; $ pluginRequest -> setControllerActionName ( $ defaultActionName ) ; return $ pluginRequest ; }
Build the proper pluginRequest to render the PluginView
of some configured Master Plugin

@return ActionRequest
Build the proper pluginRequest to render the PluginView of some configured Master Plugin