[Neos] A question to the neos core team about TypoScriptView and rendering a page standalone

Simon Schaufelberger (Schaufi) simonschaufi at guugelmail.de
Mon Jan 6 23:59:13 CET 2014


grabbing out an older post but still open to me. since the code has 
changed a lot, i still need some help to render a page standalone. is 
somebody willing to help me? the whole community will benefit from it!

Regards, Schaufi

Am 01.06.2013 02:43, schrieb Simon Schaufelberger (Schaufi):
> Hi Christian,
> that example helped a lot and i now rendered my first page successfully
> exept the menus. When i remove then, it works but when i add them in the
> template, i get an exeption.
>
> in particular: the breadrumb works!
>
> whats breaking:
> <ts:render path="parts.subMenu" />
> and
> <ts:render path="parts.mainMenu" />
>
> something is missing here:
>
> #1: Catchable Fatal Error: Argument 3 passed to
> TYPO3\Neos\TypoScript\MenuImplementation_Original::findParentNodeInBreadcrumbPathByLevel()
> must implement interface TYPO3\TYPO3CR\Domain\Model\NodeInterface, null
> given, called in
> [...]\Data\Temporary\Development\Cache\Code\Flow_Object_Classes\TYPO3_Neos_TypoScript_MenuImplementation.php
> on line 198 and defined in
> [...]\Data\Temporary\Development\Cache\Code\Flow_Object_Classes\TYPO3_Neos_TypoScript_MenuImplementation.php
> line 260
>
> but i dont know how to fix it.
>
> well, for my newsletter i dont need any menus but just to let you know
> that something is broken. here is my code: just put that in a backend
> module controller action:
>
> $view = $this->objectManager->get('\TYPO3\Neos\View\TypoScriptView'); /*
> @var $view \TYPO3\Neos\View\TypoScriptView */
> $currentNode =
> $this->nodeService->getNodeByContextNodePath('/sites/neosdemotypo3org/features');
>
>
> $typoScriptPath = 'root';
> $view->setTypoScriptPath($typoScriptPath);
> $view->assign('value', $currentNode);
>
> $closestFolderNode = $currentNode;
> $currentSiteNode =
> $this->nodeService->getNodeByContextNodePath('/sites/neosdemotypo3org');
>
> $typoScriptRuntime =
> $this->typoScriptService->createRuntime($currentSiteNode,
> $closestFolderNode, $this->controllerContext);
> $typoScriptRuntime->pushContextArray(array(
>      'node' => $currentNode,
>      'request' => $this->controllerContext->getRequest(),
>      'site' => $currentSiteNode
> ));
> $output = $typoScriptRuntime->render($view->getTypoScriptPath());
> $typoScriptRuntime->popContext();
>
> echo $output;
> exit;
>
> my first idea was the following code like the viewhelper:
>
> $typoScriptPath = 'root';
>
> $typoScriptView = new \TYPO3\TypoScript\View\TypoScriptView();
> $typoScriptView->setControllerContext($this->controllerContext);
> $typoScriptView->setTypoScriptPath($typoScriptPath);
>
> $output = $typoScriptView->render();
> echo $output;
> exit;
>
> but that gives me:
>
> #1207253462: "resource://Mypackage/Private/TypoScripts/" is no directory.
>
>
> my next step would be to create a special newsletter template, make that
> visually available in the backend for selection and then use that
> template to render that page. I guess i will need more help then.
>
> Regards, Schaufi


More information about the Neos mailing list