在Foundation揭示模式中设置变量 - CakePHP

时间:2015-03-26 10:26:11

标签: cakephp modal-dialog zurb-foundation action

我正在尝试使用CakePHP在显示模式中设置变量。 我正在使用的揭示模式是与Zurb基金会<​​/ p>

我必须生成代码并显示它。 我有一个带有generatecode()函数的HomeController。 在我的Home.ctp中,我有一个带有揭示模式的div(参见基本部分here) 我还有一个使用该代码生成的链接按钮:

echo $this->Html->Link('Unlock Link', array('action'=>'unlockpwd'), array('class' => 'button small', 'data-reveal-id' => 'modal_unlockpwd'));

这是我的行动代码:

function unlockpwd() {
        $this->set('code', $this->Function->generatePwdLock());
        $this->redirect($this->referer());
}

在我的Home.ctp中,我只是在显示模式中显示$ code但是我得到一个未定义的变量错误。

我认为这是因为我在设置$ code之前显示模态。

我该如何解决这个问题?我尝试了setFlash,它可以工作,但是对于用户来说,揭示模式似乎更好。

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

您将“代码”设置为变量并重定向远离页面,以便变量丢失。解决方案是:

function unlockpwd() {
    $this->Session->write('Code', $this->Function->generatePwdLock());
    $this->redirect($this->referer());
}

你想看到它的地方:

echo $this->Session->read('Code'); 
$this->Session->delete('Code'); //if you want to show only once