No template path set.
Most likely you didn't configure `templatePath` in your Fusion object correctly.
For example you could add and adapt the following line to your Fusion:
`prototype(Neos.Fusion:Template) < prototype(Neos.Fusion:Template) {
templatePath = 'resource://Vendor.Package/Private/Templates/MyObject.html'
}`
Exception Code | 0 |
---|---|
Exception Type | Exception |
Thrown in File | Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Neos_Fusion_FusionObjects_TemplateImplementation.php |
Line | 90 |
Original File | Packages/Application/Neos.Fusion/Classes/FusionObjects/TemplateImplementation.php |
Neos\Fusion\FusionObjects\TemplateImplementation_Original::evaluate()
00468:
00469: if ($evaluateObject) {
00470: $output = $fusionObject->evaluate();
00471: $evaluationStatus = self::EVALUATION_EXECUTED;
00472: }
Neos\Fusion\Core\Runtime_Original::evaluateObjectOrRetrieveFromCache(Neos\Fusion\FusionObjects\TemplateImplementation, "error<Neos.Fusion:Case>/404<Neos.Fusion:Matcher>/renderer<WG.Site:Document.AbstractPage>/body", array|8|, array|5|)
00425: $fusionObject = $this->instantiatefusionObject($fusionPath, $fusionConfiguration, $applyPathsToPop);
00426: $needToPopContext = $this->prepareContextForFusionObject($fusionObject, $fusionPath, $fusionConfiguration, $cacheContext);
00427: $output = $this->evaluateObjectOrRetrieveFromCache($fusionObject, $fusionPath, $fusionConfiguration, $cacheContext);
00428: } catch (StopActionException $stopActionException) {
00429: $this->finalizePathEvaluation($cacheContext, $needToPopContext, $applyPathsToPop);
Neos\Fusion\Core\Runtime_Original::evaluate("error<Neos.Fusion:Case>/404<Neos.Fusion:Matcher>/renderer<WG.Site:Document.AbstractPage>/body", Neos\Fusion\FusionObjects\HttpResponseImplementation)
00087: $fullPath = $this->path . '/' . $path;
00088: if (!isset($this->fusionValueCache[$fullPath])) {
00089: $this->fusionValueCache[$fullPath] = $this->runtime->evaluate($fullPath, $this);
00090: }
00091: return $this->fusionValueCache[$fullPath];
Neos\Fusion\FusionObjects\AbstractFusionObject::fusionValue("body")
00043: }
00044: try {
00045: $value = $this->fusionValue($propertyPath);
00046: } catch (\Exception $e) {
00047: $value = $this->runtime->handleRenderingException($this->path . '/' . $key, $e);
Neos\Fusion\FusionObjects\DataStructureImplementation_Original::evaluate()
00052: }
00053:
00054: $parentResult = parent::evaluate();
00055: if ($parentResult !== []) {
00056: $contentStream = $this->contentStreamFactory->createStream(implode('', $parentResult));
Neos\Fusion\FusionObjects\HttpResponseImplementation_Original::evaluate()
00468:
00469: if ($evaluateObject) {
00470: $output = $fusionObject->evaluate();
00471: $evaluationStatus = self::EVALUATION_EXECUTED;
00472: }
Neos\Fusion\Core\Runtime_Original::evaluateObjectOrRetrieveFromCache(Neos\Fusion\FusionObjects\HttpResponseImplementation, "error<Neos.Fusion:Case>/404<Neos.Fusion:Matcher>/renderer", array|31|, array|6|)
00425: $fusionObject = $this->instantiatefusionObject($fusionPath, $fusionConfiguration, $applyPathsToPop);
00426: $needToPopContext = $this->prepareContextForFusionObject($fusionObject, $fusionPath, $fusionConfiguration, $cacheContext);
00427: $output = $this->evaluateObjectOrRetrieveFromCache($fusionObject, $fusionPath, $fusionConfiguration, $cacheContext);
00428: } catch (StopActionException $stopActionException) {
00429: $this->finalizePathEvaluation($cacheContext, $needToPopContext, $applyPathsToPop);
Neos\Fusion\Core\Runtime_Original::evaluate("error<Neos.Fusion:Case>/404<Neos.Fusion:Matcher>/renderer", Neos\Fusion\FusionObjects\MatcherImplementation)
00054:
00055: if ($canRenderWithRenderer) {
00056: $renderedElement = $this->runtime->evaluate($rendererPath, $this);
00057: } elseif ($renderPath !== null) {
00058: if (substr($renderPath, 0, 1) === '/') {
Neos\Fusion\FusionObjects\RendererImplementation_Original::evaluate()
00054: {
00055: if ($this->getCondition()) {
00056: return parent::evaluate();
00057: } else {
00058: return CaseImplementation::MATCH_NORESULT;
Neos\Fusion\FusionObjects\MatcherImplementation_Original::evaluate()
00468:
00469: if ($evaluateObject) {
00470: $output = $fusionObject->evaluate();
00471: $evaluationStatus = self::EVALUATION_EXECUTED;
00472: }
Neos\Fusion\Core\Runtime_Original::evaluateObjectOrRetrieveFromCache(Neos\Fusion\FusionObjects\MatcherImplementation, "error<Neos.Fusion:Case>/404<Neos.Fusion:Matcher>", array|4|, array|5|)
00425: $fusionObject = $this->instantiatefusionObject($fusionPath, $fusionConfiguration, $applyPathsToPop);
00426: $needToPopContext = $this->prepareContextForFusionObject($fusionObject, $fusionPath, $fusionConfiguration, $cacheContext);
00427: $output = $this->evaluateObjectOrRetrieveFromCache($fusionObject, $fusionPath, $fusionConfiguration, $cacheContext);
00428: } catch (StopActionException $stopActionException) {
00429: $this->finalizePathEvaluation($cacheContext, $needToPopContext, $applyPathsToPop);
Neos\Fusion\Core\Runtime_Original::evaluate("error<Neos.Fusion:Case>/404<Neos.Fusion:Matcher>", NULL, "Exception")
00258: {
00259: try {
00260: $output = $this->evaluate($fusionPath, null, self::BEHAVIOR_EXCEPTION);
00261: if ($this->debugMode) {
00262: $output = sprintf(
Neos\Fusion\Core\Runtime_Original::render("error<Neos.Fusion:Case>/404<Neos.Fusion:Matcher>")
00080: // No object type has been set, so we're using Neos.Fusion:Matcher as fallback
00081: $renderedMatcher = $this->runtime->render(
00082: sprintf('%s/%s<Neos.Fusion:Matcher>', $this->path, $matcherKey)
00083: );
00084: return $renderedMatcher;
Neos\Fusion\FusionObjects\CaseImplementation_Original::renderMatcher(404)
00044:
00045: foreach ($matcherKeys as $matcherName) {
00046: $renderedMatcher = $this->renderMatcher($matcherName);
00047: if ($this->matcherMatched($renderedMatcher)) {
00048: return $renderedMatcher;
Neos\Fusion\FusionObjects\CaseImplementation_Original::evaluate()
00468:
00469: if ($evaluateObject) {
00470: $output = $fusionObject->evaluate();
00471: $evaluationStatus = self::EVALUATION_EXECUTED;
00472: }
Neos\Fusion\Core\Runtime_Original::evaluateObjectOrRetrieveFromCache(Neos\Fusion\FusionObjects\CaseImplementation, "error", array|7|, array|5|)
00425: $fusionObject = $this->instantiatefusionObject($fusionPath, $fusionConfiguration, $applyPathsToPop);
00426: $needToPopContext = $this->prepareContextForFusionObject($fusionObject, $fusionPath, $fusionConfiguration, $cacheContext);
00427: $output = $this->evaluateObjectOrRetrieveFromCache($fusionObject, $fusionPath, $fusionConfiguration, $cacheContext);
00428: } catch (StopActionException $stopActionException) {
00429: $this->finalizePathEvaluation($cacheContext, $needToPopContext, $applyPathsToPop);
Neos\Fusion\Core\Runtime_Original::evaluate("error", NULL, "Exception")
00258: {
00259: try {
00260: $output = $this->evaluate($fusionPath, null, self::BEHAVIOR_EXCEPTION);
00261: if ($this->debugMode) {
00262: $output = sprintf(
Neos\Fusion\Core\Runtime_Original::render("error")
00136:
00137: try {
00138: $output = $fusionRuntime->render('error');
00139: $output = $this->extractBodyFromOutput($output);
00140: } catch (RuntimeException $exception) {
Neos\Neos\View\FusionExceptionView_Original::render()
00077:
00078: try {
00079: echo $this->buildView($exception, $this->renderingOptions)->render();
00080: } catch (\Throwable $throwable) {
00081: $this->renderStatically($statusCode, $throwable);
Neos\Flow\Error\DebugExceptionHandler::echoExceptionWeb(Neos\Flow\Mvc\Controller\Exception\InvalidControllerException)
00117: break;
00118: default:
00119: $this->echoExceptionWeb($exception);
00120: }
00121: }
Neos\Flow\Error\AbstractExceptionHandler::handleException(Neos\Flow\Mvc\Controller\Exception\InvalidControllerException)