如何在不同的控制器/模塊中對佈局進行多個操作?Zend Framework:佈局中的多個模塊
我嘗試這樣做:
<div id="login"><?php $x=new User_LoginController; $x->LoginAction() ?>
<div id="news"><?php $x=new Site_NewsController; $x->ShowAction() ?>
如何在不同的控制器/模塊中對佈局進行多個操作?Zend Framework:佈局中的多個模塊
我嘗試這樣做:
<div id="login"><?php $x=new User_LoginController; $x->LoginAction() ?>
<div id="news"><?php $x=new Site_NewsController; $x->ShowAction() ?>
你想實現view helpers,特別是placeholder()查看幫手。
例如呈現在任何一個登錄表單或應用程序中的所有頁面,我們先從一個placholder在我們的佈局或視圖腳本的形式:
<!--layout.phtml-->
<div>
<?php echo $this->layout()->login . "\n"?>
</div>
我使用action helper現在從任何控制器或前端控制器插件佔位符可以設置
<?php
/**
* Prepares login form for display
*/
class My_Controller_Action_Helper_Login extends Zend_Controller_Action_Helper_Abstract
{
/**
* @return \Application_Form_Login
*/
public function direct()
{
$form = new Application_Form_Login();
//this is the url of the action this form will default too
$form->setAction('/index/login');
return $form;
}
}
:準備形成用於顯示
public function preDispatch()
{
$this->_helper->layout()->login = $this->_helper->login();
}
現在登錄表單將在顯示來自該控制器使用layout.phtml
因爲它的佈局任何行動。我會讓你自己發現插件。
對佔位符使用助手通常是實現你想要的東西的首選方式。但是,如果您絕對必須在其他視圖中顯示某項操作,則可以使用Action view helper,但請注意性能可能會受到影響。
<div id="login">
<?php echo $this->action('login', 'login', 'user'); ?>
</div>
我沒有得到你想要什麼?
我猜到了什麼是可能是你想調用從佈局此功能(作用)顯示什麼是
返回從那裏進入佈局......
這不是一個好主意。推測你的登錄行爲顯示登錄表單?所以你應該在佈局中輸出這個表單(可能通過。helper)。 – 2013-04-11 18:13:42
在每一個視圖中,我有一個Ajax代碼,接下來是形式。 我需要網站:新聞,登錄/聊天,最新評論,留言。我沒有其他的想法.. – Jeremy 2013-04-11 19:02:51