Zend framework 从Zend中的视图助手加载Zend_表单?
是否可以从视图辅助对象加载Zend_表单?我正在登录操作方法中使用此表单。但是我也希望这个表单在每个页面的导航上都是可见的(因此在没有实际调用登录操作的情况下),表单的post方法将发送到login操作方法 我猜应该用视图助手来完成,但我不知道怎么做 有什么想法吗 我试过这个: 我的视图助手:Zend framework 从Zend中的视图助手加载Zend_表单?,zend-framework,forms,view,helper,Zend Framework,Forms,View,Helper,是否可以从视图辅助对象加载Zend_表单?我正在登录操作方法中使用此表单。但是我也希望这个表单在每个页面的导航上都是可见的(因此在没有实际调用登录操作的情况下),表单的post方法将发送到login操作方法 我猜应该用视图助手来完成,但我不知道怎么做 有什么想法吗 我试过这个: 我的视图助手: class Zend_View_Helper_LoginForm { function getLoginForm(){ $form = new Form_LoginForm();
class Zend_View_Helper_LoginForm
{
function getLoginForm(){
$form = new Form_LoginForm();
return $form;
}
}
我从我的布局中这样称呼它:
但这不起作用。(不过我可以通过一个动作方法调用相同的表单!)
在本例中,它给了我这个错误(这没有意义,因为我的助手只有9行长):
警告:第44行的C:\xamplite\htdocs\zendpr\library\Zend\View\Helper\Form.php中的Zend\u View\u Helper\Form::Form()缺少参数1
在控制器操作中初始化表单并设置表单引用
// controller action code
$this->view->form = $form;
然后在视图帮助器中,您可以通过视图引用表单
// view helper code
$this->view->form;
视图助手应扩展Zend_view_helper_抽象类,并且视图助手的方法必须与类同名:
class Zend_View_Helper_LoginForm extends Zend_View_Helper_Abstract
{
function loginForm() {
$form = new Form_LoginForm();
return $form;
}
}
在视图脚本中,您可以这样称呼它:
echo $this->loginForm();
如果你打电话:
echo $this->form();
您正在使用视图辅助对象Zend\u视图辅助对象\u表单
class Zend_View_Helper_LoginForm extents Zend_Form {
function getLoginForm(){
$form = new Form_LoginForm();
return $form;
}
}
或
$this->view->form=$form代码>
两人都将返回表格。视图窗体对于视图更为具体
将其添加到phtml视图文件中
echo$this->form()代码>
要回答此问题,请删除括号
应该是
echo$this->form代码>问题是,我不想在我的操作方法中初始化表单,因为这个表单应该在每个页面上都可见,并且我必须在每个操作方法中初始化它。这就是为什么我想用一个动作助手从布局文件中调用它。。。
class Zend_View_Helper_LoginForm extents Zend_Form {
function getLoginForm(){
$form = new Form_LoginForm();
return $form;
}
}