如何在Cakephp中定义变量

时间:2013-03-05 10:28:56

标签: cakephp

我试图将cakephp中的变量传递给视图并获取错误未定义变量:view [APP \ View \ ItQueries \ add.ctp,第9行]和第9行是这个

<?php echo $this->Form->hidden('status_type', array('value'=>$view)); ?>

以下是如何在控制器中定义我的变量

class ItQueriesController extends AppController {

var $view = 'Open';

public function index() {
$this->ItQuery->recursive = 0;
$this->set('view', $this->view);

}

//Other Code

}

这里是我试图将变量作为隐藏字段传递的地方

<?php echo $this->Form->create('ItQuery'); ?>
<?php echo __('Add It Query'); ?></legend>
<?php
echo $this->Form->input('status_type', array('type' => 'hidden', 'value'=>$view));
?>
<?php echo $this->Form->end(__('Submit')); ?>

有些人可以告诉我如何解决这个问题

1 个答案:

答案 0 :(得分:1)

您需要将变量设置为viewVars的一部分。

为此,请将此添加到您的控制器操作:

$this->set('view', $this->view);

E.g。

class ItQueriesController extends AppController {

    var $view = 'Open';

    function index() {
        $this->set('view', $this->view);
    }

}  

然后,您可以使用$view

直接在视图中访问它

您的隐藏字段将如下所示:

echo $this->Form->input('status_type', array('type' => 'hidden', 'value'=>$view));