Neos\Neos\Controller\Backend\ContentController::pluginViewsAction PHP Method

pluginViewsAction() public method

Fetch the configured views for the given master plugin
public pluginViewsAction ( string $identifier = null, string $workspaceName = 'live', array $dimensions = [] ) : string
$identifier string Specifies the node to look up
$workspaceName string Name of the workspace to use for querying the node
$dimensions array Optional list of dimensions and their values which should be used for querying the specified node
return string
    public function pluginViewsAction($identifier = null, $workspaceName = 'live', array $dimensions = array())
    {
        $this->response->setHeader('Content-Type', 'application/json');
        $contentContext = $this->createContentContext($workspaceName, $dimensions);
        /** @var $node NodeInterface */
        $node = $contentContext->getNodeByIdentifier($identifier);
        $views = array();
        if ($node !== null) {
            /** @var $pluginViewDefinition PluginViewDefinition */
            $pluginViewDefinitions = $this->pluginService->getPluginViewDefinitionsByPluginNodeType($node->getNodeType());
            foreach ($pluginViewDefinitions as $pluginViewDefinition) {
                $label = $pluginViewDefinition->getLabel();
                $views[$pluginViewDefinition->getName()] = array('label' => $label);
                $pluginViewNode = $this->pluginService->getPluginViewNodeByMasterPlugin($node, $pluginViewDefinition->getName());
                if ($pluginViewNode === null) {
                    continue;
                }
                $q = new FlowQuery(array($pluginViewNode));
                $page = $q->closest('[instanceof Neos.Neos:Document]')->get(0);
                $uri = $this->uriBuilder->reset()->uriFor('show', array('node' => $page), 'Frontend\\Node', 'Neos.Neos');
                $views[$pluginViewDefinition->getName()] = array('label' => $label, 'pageNode' => array('title' => $page->getLabel(), 'uri' => $uri));
            }
        }
        return json_encode((object) $views);
    }