gpt4 book ai didi

php - 如何在 Twig 基础模板中设置基于 session 的变量?

转载 作者:搜寻专家 更新时间:2023-10-31 20:39:50 25 4
gpt4 key购买 nike

我想将 twig 插入到一个应用程序中,该应用程序需要在基础中合并一些基于 session 的数据。例如,客户端的当前时区显示在页脚中。个别管制员知道这件事没有意义,因为这与他们无关;但另一方面,他们选择并填充 View :

class MyController 
{

public function index()
{
$template = $this->twig->loadTemplate('myPageTemplate.html.twig');
return $template->render($dataArray);
}
}

在您选择 View 之前,是否有一些格式正确的方法将数据对象传递给 Twig,并使其可用于基本模板?在启动 Twig_Environment 并将其传入时你会做些什么?

最佳答案

session 变量需要在 Controller 中设置。可以看出in the docs ,它看起来像这样:

public function indexAction(Request $request)
{
$session = $request->getSession();

// store an attribute for reuse during a later user request
$session->set('foo', 'bar');

// get the attribute set by another controller in another request
$foobar = $session->get('foobar');

// use a default value if the attribute doesn't exist
$filters = $session->get('filters', array());
}

然后在渲染模板时可以轻松传递这些变量,例如:

return $this->redirect($this->generateUrl('home', array('foobar' => $foobar)));

关于php - 如何在 Twig 基础模板中设置基于 session 的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25212814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com