我有一个问题。我在我的网站上有一条路线,我在这里设置了一个变量:
public function userCaptcha(){
$_SESSION['isFacebookRegistration'] = 0;
}
现在我有另一条路线来渲染视图:
public function index(){
$this->session = $_SESSION;
return $this->render('template/index.twig');
}
在索引模板中我做:
{{ dump(session.isFacebookRegistration) }}
{% set session = session|merge({'isFacebookRegistration' : 3}) %}
我访问第一条路线:userCaptcha()一次,但路由索引()2次,通常我需要看第一次0和第二次3.但我只看到0次2次。你能帮我吗?这个想法是第一次显示0,其余为3. Thx提前
答案 0 :(得分:0)
您无法在Twig端设置PHP var。每次重新加载视图时,您对变量所做的更改都将丢失。你可以尝试这样的事情:
public function userCaptcha(){
$_SESSION['isFacebookRegistration'] = 0;
}
public function index(){
if (isset($_SESSION['flag'])) {
$_SESSION['isFacebookRegistration'] = 3;
}
$_SESSION['flag'] = true;
$this->session = $_SESSION;
return $this->render('template/index.twig');
}
这样,首次执行index()不会更改isFacebookRegistration
值,但会设置一个标志。下一次,条件将是真的isFacebookRegistration
将改变。