我正在尝试使用一个视图中的操作渲染到另一个控制器视图的视图。
我有一个名为stocks.ctp
的视图(使用StocksController
),我希望在home.ctp
(HomeController
)中呈现该视图我认为我可以<?php echo $this->fetch('../Stocks/stocks'); ?>
在home.ctp
,但这不起作用。
我也尝试将<?PHP $this->extend('stocks'); ?>
放入home.ctp
,但这只会覆盖整个视图,只会呈现stocks.ctp
。
如何在stocks.ctp
内显示home.ctp
?
这只是一个例子:这是
<?php $this->start('stocks');?>
<div>
content
</div>
<?php $this->end(); ?>
这里只是home.ctp
视图的示例。
<div class="col-3">
<h1>STOCK MARKET WOOOOO</h1>
<?php echo $this->fetch('stocks'); ?>
</div>
<div class="col-3">
<h1>Opinion</h1>
<hr></hr>
</div>
如何正确渲染?我已经尝试了一些我在这里找到的解决方案,但没有任何工作,我已经尝试过使用cookbook的文档,但没有运气。我无法弄清楚我做错了什么。
答案 0 :(得分:0)
你应该将它放在家用控制器中..
$this->render('Stocks/stocks');
答案 1 :(得分:0)
在您的控制器操作中执行
$this->autoRender = false;
并在控制器操作结束时执行
$this->render('Stocks/stocks');
答案 2 :(得分:0)
您应该阅读有关如何在CakePHP文档中创建元素的内容。 创建元素后,您应该可以在应用程序中的任何位置使用它们。
例如:
<?php
echo $this->element('stocks');
?>
应该渲染元素。
在此处阅读:Elements