有没有办法将控制器渲染到不同的视图然后正常?我正在尝试将一些数据从控制器传递到非默认视图.意思是我的控制器被调用:
class StocksRealtimeController extends AppController {
var $uses = 'StockRealtime';
function index(){
$action = '/TestView';
$this->set('stocksRT', $this->StockRealtime->find('all'));
//$this -> viewPath = 'Pages';
$this -> render('/TestView/index');
}
}
Run Code Online (Sandbox Code Playgroud)
...我的视图在views-> TestView-> index.ctp中
我的另一个问题是,如何将该值传递给PHP而不是CakePHP框架之外的ctp文件?
我从这里尝试了一切,没有运气.
40P*_*lot 56
正确的方式:
$this -> render('TestView/index');
如上所述,您可以使用$this -> set将变量传递给View.
但是,如果那不能给你你想要的东西我猜你也想要动作来显示另一个布局(非默认布局).您可以尝试$this -> layout = 'layoutname';(布局在布局文件夹中,默认为default.ctp)
注意: CakePHP的控制器不能将数据传递给非视图文件(如.php).CakePHP的观点应以.ctp结尾
Sab*_*agu 42
我宁愿使用:
$this->view = 'file';
Run Code Online (Sandbox Code Playgroud)
因为$this->set('var', $val)你所拥有的任何东西都$this->render('file')无法达到你的观点.
在CakePHP 3.x中使用:
$this->viewBuilder()->template('file');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92597 次 |
| 最近记录: |