Могу ли я использовать свою обычную (html) форму в Zend Framework? - PullRequest
1 голос
/ 28 января 2010

Могу ли я использовать свою обычную (html) форму в Zend Framework? Как я могу это сделать и как я могу вызвать действие в файле IndexController?

Ответы [ 5 ]

2 голосов
/ 28 января 2010

конечно вы можете ... просто используйте

<form action="/index/action" methode="POST">

для доступа к аргументам записи используйте

$this->getRequest()->getParam('argument')
1 голос
/ 07 апреля 2010

Да, определенно .. Вам просто нужно удалить вызов isValid в вашем контроллере, поскольку он не будет выполнять никакой проверки, а также удалить проверку после запроса, если она не будет содержать никакой формы. Это похоже на создание общего представления с простыми ссылками.

1 голос
/ 28 января 2010

это не проблема, поместите код формы в скрипт вида для связанного действия. Может быть:

formAction() 
{
   // check if post request
   if ($this->getRequest()->isPost()) {       
       // read global $_POST array
       $data = $this->getRequest()->getPost();
   }
}

связанный вид ist чем form.phtml

0 голосов
/ 04 апреля 2012

Просто чтобы понять, что это не очень хорошая практика для реализации, но для решения такой проблемы сделайте следующее: в файле представления при определении формы

    <form action = "<?php echo $this->url(array('action'=>'ACTIONAME')); ?>" ...>
................
</form> 

в названии соответствующего действия

 if($this->_request->isPost()){
        foreach ($_POST as $var => $value) { 
        echo "$var = $value<br>"; 
        } 
0 голосов
/ 28 января 2010

Да, у меня есть модуль с именем 'contact' и действие addcontactAction() в ContactController.php.

Так что я могу использовать: /view/scripts/contacts/addcontact.phtml

<form  action="" method="post" name="frm_addcontact" />
<input name="cn_fname" type="text" class="textbox" id="cn_fname"/>
<input type="submit" class="button" id="save" value="Save" />
</form>

когда эта форма отправлена, она вызывает addcontactAction() в контроллере.

$cn_fname       = $_REQUEST['cn_fname']; 
...