Erro no php Uncaught League\Plates\Exception\RenderTemplateException: Template path
É a primeira vez que vejo esse erro e estou tendo problemas para resolvê-lo. Tenho no meu controller uma página de erro com o código:
<?php
namespace Source\App\Error;
use Source\Core\Controller;
class Error extends Controller {
public function __construct()
{
parent::__construct(__DIR__ . "/../../themes/" . CONF_VIEW_ERROR . "/");
}
/**
* ERROR
* @param array $data
*/
public function errors(?array $data): void
{
$error = new \stdClass();
json_encode($error);
switch ($data['errcode']) {
case "problemas":
$error->code = "OPS";
$error->title = "Estamos enfrentando problemas!";
$error->message = "Parece que nosso serviço não está diponível no momento. Já estamos vendo isso mas caso precise, envie um e-mail :)";
$error->linkTitle = "ENVIAR E-MAIL";
$error->link = "mailto:" . CONF_MAIL_SUPPORT;
break;
case "manutencao":
$error->code = "OPS";
$error->title = "Desculpe. Estamos em manutenção!";
$error->message = "Voltamos logo! Por hora estamos trabalhando para melhorar nosso conteúdo para você controlar melhor as suas contas :P";
$error->linkTitle = null;
$error->link = null;
break;
default:
$error->code = $data['errcode'];
$error->title = "Ooops. Conteúdo indispinível :/";
$error->message = "Sentimos muito, mas o conteúdo que você tentou acessar não existe, está indisponível no momento ou foi removido :/";
$error->linkTitle = "Continue navegando!";
$error->link = url_back();
break;
}
$head = $this->seo->render(
"{$error->code} | {$error->title}",
$error->message,
url("/ops/{$error->code}"),
theme("/assets/images/share.jpg", CONF_VIEW_ERROR),
false
);
echo $this->view->render("error", [
"head" => $head,
"error" => $error
]);
}
}
Estou usando o Composer para fazer minhas rotas de erro e elas se parecem com isso:
/**
* ERROR ROUTES
*/
$route->namespace("Source\App\Error");
$route->group("/ops");
$route->get("/{errcode}", "Error:errors");/**
* ROUTE
*/
$route->dispatch();
/**
* ERROR REDIRECT
*/
if ($route->error()) {
$route->redirect("/ops/{$route->error()}");
}
E minha visão na página fkbError é assim:
layout("_theme"); ?>
<article class="not_found">
<div class="container content">
<header class="not_found_header">
<p class="error">•<?= $error->code; ?>•</p>
<h1><?= $error->title; ?></h1>
<p><?= $error->message; ?></p>
<?php if ($error->link): ?>
<a class="not_found_btn gradient gradient-green gradient-hover transition radius"
title="<?= $error->linkTitle; ?>" href="<?= $error->link; ?>"><?= $error->linkTitle; ?></a>
<?php endif; ?>
</header>
</div>
</article>
E o código parece estar certo mas o erro persiste, o que devo fazer?
Discussão (0)
Carregando comentários...