2010-06-25 138 views
2

我正在使用cakephp,我希望控制器「用戶」的登錄視圖顯示在佈局控制器的default.ctp上。我可以這樣做嗎?在視圖內顯示另一個控制器的視圖

例如:

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

回答

2

我想使它成爲一個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

1

如果不使用元素爲此,你已經有登錄視圖,你可以這樣使用它

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