在CakePHP中,将带有操作的视图从一个控制器呈现到另一个控制器的视图中
我正在尝试将一个包含动作的视图从一个视图渲染到另一个视图 我有一个名为在CakePHP中,将带有操作的视图从一个控制器呈现到另一个控制器的视图中,cakephp,cakephp-2.0,Cakephp,Cakephp 2.0,我正在尝试将一个包含动作的视图从一个视图渲染到另一个视图 我有一个名为stocks.ctp(使用stockscocontroller)的视图,我想在home.ctp(HomeController)中渲染它,我想我可以在home.ctp中执行,但这不起作用 我还尝试将放入home.ctp中,但这只会覆盖整个视图,并且只呈现stocks.ctp 如何在home.ctp内部显示stocks.ctp 这只是一个例子:下面是 <?php $this->start('stocks'
stocks.ctp
(使用stockscocontroller
)的视图,我想在home.ctp
(HomeController
)中渲染它,我想我可以在home.ctp
中执行
,但这不起作用
我还尝试将
放入home.ctp
中,但这只会覆盖整个视图,并且只呈现stocks.ctp
如何在home.ctp
内部显示stocks.ctp
这只是一个例子:下面是
<?php $this->start('stocks');?>
<div>
content
</div>
<?php $this->end(); ?>
我怎样才能正确地渲染它?我在这里找到了很多解决方案,但都没有成功,我也尝试过使用cookbook的文档,但没有成功。我不知道我做错了什么。你应该把这个放在你的家庭控制器里。。
$this->render('Stocks/Stocks')代码>在控制器操作中执行
$this->autoRender = false;
$this->render('Stocks/stocks');
在控制器操作结束时,执行以下操作:
$this->autoRender = false;
$this->render('Stocks/stocks');
您应该了解如何在CakePHP文档中创建元素。
创建元素后,您应该能够在应用程序中的任何位置使用它们
在View/elements内部创建元素,例如:/View/elements/stocks.ctp
在home.ctp中请求它
例如:
<?php
echo $this->element('stocks');
?>
应该呈现元素
在这里阅读:酷,我现在正在看。我知道我需要向它们传递一个变量,我可以用find方法来实现吗?文档中写着
,但我能做什么应该在控制器中使用find方法。视图需要只包含展览代码。在您的控制器中,您可以执行:$posts=$this->Post->find('all')$此->设置('posts',$posts);然后$posts将在您的视图中可用,因此:$this->element('posts',array('data'=>$posts));希望能有帮助。requestAction对有效,但由于新请求,您会损失一点性能。我更喜欢直接在当前控制器操作中设置变量。您可以在此处阅读有关$this->requestAction的更多信息: