在视图内显示另一个控制器的视图

问题描述:

我正在使用cakephp,我希望控制器“用户”的登录视图显示在布局控制器的default.ctp上。我可以这样做吗?在视图内显示另一个控制器的视图

例如:

<div id="leftNav"> 
    <div id="login-block" class="block"> 
     <?php 
      //render users/login here 
     ?> 
     <ul> 
      <li><a href="https://*.com/users/login">Login</a></li> 
      <li><a href="https://*.com/users/register">Register</a></li> 
      <li><a href="https://*.com/users/logout">Logout</a></li> 
     </ul> 
    </div> 
</div> 

我想使它成为一个element - 它们被设计为可以在任何地方使用可重复使用的代码块。

总结功能,在你看来,你会使用:

<?php echo $this->element('login'); ?> 

,并把你的“登录块” DIV登录的东西,在

/app/views/elements/login.ctp 
+0

如何?食谱并没有完全解释如何创建元素,只是他们可以。 – Malfist 2010-06-25 14:34:34

+0

那么元素部分的上下文就是视图 - 基本上,您可以在其中推送一个视图(.ctp文件)并从任何其他视图中获取它。我用一个简短的总结更新了我的代码。 – 2010-06-25 14:36:07

如果不使用元素为此,你已经有登录视图,你可以这样使用它

<?php echo $this->requestAction('/users/login'); ?>