Проблема Zend Form: элементы формы не отображаются - PullRequest
0 голосов
/ 11 августа 2011

Я новичок в Zend Framework.Я пытаюсь сделать простую форму входа, но у меня возникла проблема, я не знаю решение.Проблема в том, что элементы формы не отображаются.Вместо этого создается тег формы (я вижу его через исходный код страницы).Почему элементы формы не отображаются при создании тега формы.Вот коды.

Файл приложения / формы / Account.php

class Application_Form_Account extends Zend_Form
{
public function init()
{

   // Initiate form
   $this->setAction('account/login-exec');
   $this->setMethod('post');
   $this->setName('login-form');

   // Add form elemen: username
   $username = new Zend_Form_Element_Text('username');
   $username -> setLabel('User Name');
    // Add form element: Password
    $password = new Zend_Form_Element_Password('password');
    $password -> setLabel('Password');
    // Add form elemet: Submit button
    $submitButton = new Zend_Form_Element_Submit('submit');
    $submitButton -> setLabel('Post Data');

}
}

Файл приложения / controllers / AccountControllers.php

class AccountController extends Zend_Controller_Action
{

public function init()
{      
}

public function indexAction()
{
    // Show the login form in view
    $form = new Application_Form_Account();

    $this->view->pageHeading = "Please Login!!";

    $this->view->form = $form;
}
}

Файл приложения / views /index.phtml

<h1><?php echo $this->pageHeading ?></h1>

    <?php echo $this->form; ?>

В представлении отображаются заголовок страницы и тег формы, но нет элементов.

Спасибо за помощь

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Вы не добавляете ни один из своих элементов в форму.В методе init() формы используйте addElement(), например,

$this->addElement($username);

См. http://framework.zend.com/manual/en/zend.form.quickstart.html#zend.form.quickstart.elements

0 голосов
/ 24 мая 2013

Вы фактически создаете элемент формы, но не фиксируете / не прикрепляете его к форме. Вы можете принять это за три шага1. создать элемент Zend Form как$selector = new Zend_Form_Element_Select('reseller_id');2. Добавьте атрибуты, валидаторы или фильтры, такие как$selector->setLabel('Reseller') ->setRequired(false) ->setMultiOptions($pairs);3. Добавить этот элемент в форму$this->addElement($selector);

Полный код:$selector = new Zend_Form_Element_Select('reseller_id');$selector->setLabel('Reseller')->setRequired(false)->setMultiOptions($pairs);$this->addElement($selector);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...