CakePHP – 使用元素将变量从控制器传递到布局

Cake
PHP版本:2.6.

我正在尝试使用元素将PostsController中的变量传递给我的布局.我想要做的是显示我的标题中等待批准的帖子总数.

我在PostsController.php(缩写版本)中有以下代码:

function admin_validation() {

    $nbr_validate = $this->Post->find('count', array(
        'conditions' => array(
            'Post.validation = 0'
        )
    ));

    $this->set('nbr_validate', $nbr_validate);
}

我在我的布局(admin.ctp)中调用它:

<?php echo $this->element('posts-validation', array('nbr_validate' => $nbr_validate)); ?>

这是我的元素(posts-validation.ctp):

<?php echo $nbr_validate; ?>

我收到以下错误:

Notice (8): Undefined variable: nbr_validate [APP/View/Layouts/admin.ctp, line 54]

谢谢. 🙂

最佳答案 这就是我解决这个问题的方法:

AppController的:

$this->set('nbr_validate', ClassRegistry::init('Post')->find('count', 
    array(
        'conditions' => array(
            'validation = 0'
        )
    )
));

元件:

<?php echo $nbr_validate; ?>

视图:

<?php echo $this->element('posts-validation', array('nbr_validate' => $nbr_validate)); ?>
点赞