在Zend布局中搜索表单

时间:2012-02-05 05:06:20

标签: zend-framework zend-form

我需要在布局中使用一个表单,因为它会显示在我的所有页面上(搜索表单) 我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

您可以为此任务使用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”

答案 1 :(得分:1)

这很好用:

<div id="searchForm">
     <h2>Search Site</h2>
     <?php
     $searchForm = new Application_Form_Search();
     $searchForm->setAction('/search');
     echo $searchForm;
     ?>
</div>

这样做的好处是简单,它绝不是完成这项任务的唯一方法。