Cakephp 从我的视图中的另一个控制器渲染视图

Cakephp 从我的视图中的另一个控制器渲染视图,cakephp,Cakephp,我不知道这是否可能,我觉得这是我不应该做的事情,但我需要它,所以让我们说: 我有一个控制器“a”,这个控制器有一个做一些计算的函数,然后有一个视图,它将呈现一个div,其中包含一些字段 好的,它起作用了,我不能碰它 但是现在我还有控制器“B”,这个控制器也有一个函数和一个视图,这个视图显示了一些东西,我需要在这里显示第一个例子中div中的内容(在已经存在的div中) ps:控制器“A”上的功能需要两个参数 在这个项目中有一些部分,人们使用iframe,然后使用.load()在另一个视图中显示if

我不知道这是否可能,我觉得这是我不应该做的事情,但我需要它,所以让我们说:

我有一个控制器“a”,这个控制器有一个做一些计算的函数,然后有一个视图,它将呈现一个div,其中包含一些字段

好的,它起作用了,我不能碰它

但是现在我还有控制器“B”,这个控制器也有一个函数和一个视图,这个视图显示了一些东西,我需要在这里显示第一个例子中div中的内容(在已经存在的div中)

ps:控制器“A”上的功能需要两个参数

在这个项目中有一些部分,人们使用iframe,然后使用.load()在另一个视图中显示iframe内部的内容,但是我想知道是否可以使用div使用cakephp本身来实现这一点


cake版本2.4.9

控制器并不打算调用cake中其他控制器中的函数,但cake具有一些功能,可以让您在视图之间共享函数

根据您在此处所做的暗示,您可能会将函数粘贴到:

然后将任何div内容放入单元格模板中:

<!-- templates/cell/MyCell/display.php -->
<div class="notification-icon">
    You have <?= $unread_count ?> unread messages.
</div>

你有未读的消息。
然后将输出输入控制器A和B的视图,例如:

<!-- In Controller A's & B's template, render where needed, passing the data needed: -->
<?= $this->cell('MyCell', [$var1, $var2]); ?>


这只是一个选项——根据您在该控制器中的具体操作,您可以将共享函数粘贴到一个表中,作为一个示例。您可以将共享函数粘贴在一个普通的旧版本中。

我想我明白您所说的,但我不愿意更改控制器“a”及其视图上已经完成的代码。我的想法是将$this->render(“ControllerA”、“ActionA”)放在viewB.ctp中,这样就可以在viewB内部打印viewA中打印的内容。所以这是不可能的?正确的?如果不是的话,我不得不使用iframe方法,然后。。。
<!-- In Controller A's & B's template, render where needed, passing the data needed: -->
<?= $this->cell('MyCell', [$var1, $var2]); ?>