zend表单元素显示的问题

时间:2011-03-04 12:49:42

标签: zend-framework

请检查以下代码, 问题是测试操作中没有显示任何表单元素 无法找到

Test.php - >表单类

class Application_Form_Test extends Zend_Form
    {
        public $T_FILEUP;
        public $T_SUBMIT;
        /*function init 
         * initialise all the elements
         * */
        public function _init()
        {
            $this->T_FILEUP=new Zend_Form_Element_Text('image');
            //$this->T_FILEUP->setDestination(UPLOADS);

            $this->T_SUBMIT=new Zend_Form_Element_Submit('add');



        }
        /*function to generate a form for specific function
         * */
        public function generateForm()
        {
            return $this->addElements(array($this->T_FILEUP,$this->T_SUBMIT));
        }

    }

TestAction

public function testAction()
    {
        $objForm=new Application_Form_Test();
        $forms=$objForm->generateForm();
        $this->view->form=$forms;
  }

test.phtml

<?php 
//echo $this->nm;
echo $this->form->image;
?>

3 个答案:

答案 0 :(得分:2)

钩子的函数名称错误(没有“_”):

使用:

        public function init()
        {
            $this->T_FILEUP=new Zend_Form_Element_Text('image');
            //$this->T_FILEUP->setDestination(UPLOADS);

            $this->T_SUBMIT=new Zend_Form_Element_Submit('add');     

        }

答案 1 :(得分:1)

未生成,因为_init()方法未被执行。我相信你想使用init()而不是_init()

答案 2 :(得分:0)

只是为了澄清,因为我遇到了同样的问题。

<强> bootstrap.php中
_initXXXXX()

控制器表单
init()

微妙的区别,但如果你没有抓住它,它会让你把头撞在墙上。