我正在使用Slim Microframework和Twig模板语言,为了更精确:
"slim/slim": "^3.0",
"slim/twig-view": "^2.0",
"slim/php-view": "^2.0",
我的问题与在树枝系统中存储会话变量有关。
主页是一个登录页面,当用户提交表单时,表单的操作将其带到验证用户凭据的功能页面,如果凭据为false,则创建以下会话变量< / p>
$_SESSION['error_login_message'] = "Sorry, your credentials are invalid";
然后他被重定向到登录页面,我的尝试是在那里显示会话变量,但这似乎不适用于twig(登录页面在twig模板下运行)。我也试过{{ session.error_login_message }}
,但这没有帮助。
答案 0 :(得分:0)
这是因为twig模板无法访问会话。在渲染模板时添加数据,或全局将其附加到所有模板。
路线:
$this->view->render($response, "template.twig", [
"session" => $_SESSION
]);
全局:
$app->getContainer()["view"]["session"] = $_SESSION;