5

我想定义一个可以AppController在默认布局中使用的数组。

我怎样才能在 CakePHP 中做到这一点?

4

3 回答 3

25
$this->set('arr', array('one', 'two'));

// Accessible in controller as 
$this->viewVars['arr'];

// Accessible in view/layout as
echo $arr;
于 2013-03-02T03:37:44.613 回答
2

如果您在 AppController beforeRender() 函数中设置任何变量,并设置该变量,那么您可以在视图文件的任何位置轻松访问该变量

function beforeRender() {
    parent::beforeRender();
    $sample_arr = array("abc","xyz");
    $this->set('sample_arr',$sample_arr);
}

在您的布局文件中,只需像这样打印该数组

print_r($sample_arr);
于 2013-03-02T07:24:03.327 回答
0

从这里:

cakephp设置函数

// First you pass data from the controller:

$this->set('color', 'pink');

// Then, in the view, you can utilize the data:
?>

You have selected <?php echo $color; ?> icing for the cake.

所以对于你的情况:

$arr = array('stuff', 'more stuff');

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

// then in the layout
print_r($arr);
于 2013-03-01T23:12:47.317 回答