【发布时间】:2012-02-05 05:06:20
【问题描述】:
我需要在布局中使用一个表单,因为它会出现在我的所有页面上(一个搜索表单) 我该怎么做?
【问题讨论】:
我需要在布局中使用一个表单,因为它会出现在我的所有页面上(一个搜索表单) 我该怎么做?
【问题讨论】:
您可以为此任务使用 ControllerPlugin。
// application/plugins/Search.php
class My_Plugin_Search extends Zend_Controller_Plugin_Abstract
{
/**
* PreDispatch
*
* @param Zend_Controller_Request_Abstract $request
*
* @return void
*/
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
$layout = Zend_Layout::getMvcInstance();
$view = $layout->getView();
$form = new My_Form_Search();
$view->searchForm = $form;
}
}
在你的 layout.phtml 中
echo $this->searchForm;
要使用插件,您必须在 application.ini 中注册它:
resources.frontController.plugins.0 = "My_Plugin_Search"
【讨论】:
这很好用:
<div id="searchForm">
<h2>Search Site</h2>
<?php
$searchForm = new Application_Form_Search();
$searchForm->setAction('/search');
echo $searchForm;
?>
</div>
这具有简单的优点,它绝不是完成这项任务的唯一方法。
【讨论】: