如何从CakePHP中的操作将变量设置为其他ctp文件?

时间:2015-11-06 10:08:00

标签: cakephp cakephp-3.0

我正在使用CakePHP 3.我的行动是:

function OrderFromReseller($api_key) {
    $this->render('index');
    $this->loadModel('Psetting');
    $products = $this->Psetting->find('all');
    $this->set(compact('products'));
}

这里我渲染另一个名为index.ctp的ctp文件。现在'products'变量在索引中是未定义的。如何通过此操作将此变量设置为index.ctp文件?

1 个答案:

答案 0 :(得分:4)

您需要最后致电$this->render('index'): -

function OrderFromReseller($api_key) {
    $this->loadModel('Psetting');
    $products = $this->Psetting->find('all');
    $this->set(compact('products'));
    $this->render('index');
}

render()告诉Cake生成视图,因此模板不会考虑后面的任何内容,因为它已经被渲染。