Вы можете добавить форму в макет с помощью помощников действий.
Таким образом, ваш помощник действий должен выглядеть следующим образом:
class Application_Controller_Helper_AddMyForm extends Zend_Controller_Action_Helper_Abstract
{
public function preDispatch()
{
$view = $this->getActionController()->view;
$form = new Application_Form_MyForm();
$view->myForm = $form;
}
}
И этот помощник должен быть зарегистрирован в Bootstrap:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initMyActionHelpers()
{
$this->bootstrap('frontController');
$addMyForm = Zend_Controller_Action_HelperBroker::getStaticHelper('AddMyForm');
Zend_Controller_Action_HelperBroker::addHelper($addMyForm);
}
}
Теперь вы сможете получить доступ к myForm
из макета:
echo $this->myForm;
Подробнее о реализации многократно используемых виджетов с помощниками действий см. В блог Вейера О'Пинни и Блог Роба Аллена