Zend ViewScript Dekoratör büyük resmi, genel için use.how?

0 Cevap php

Ben stackoverflow üzerinde bir çok örnek gördüm ve Google aramasından çok ama görünüşte kimse bile kılavuzda kendisi, canlıların başka altına düşer nasıl büyük resmini gösterdi doğrudur.

Ben sadece Zend Framework (1.10.8) aldım ve formları oluştururken nihayet şimdi ViewScript beni yapılandırmak için çok daha kolay olduğunu bulundu ama böyle değildi ettik.

I-/application/modules/booking/views/scripts/user I create.phtml ve {[sahiptir UserController ve createAction it.Under içinde olan, module booking var (5)]}.

Benim anlayış, her şeyin sonunda render oluyor benim formu benim formunda olarak benim create.phtml görünecek customerForm.phtml görsel ve oluşturmak görünümünde enjekte bulunuyor için kullanacaktır.

Ben önde gitti ve basit bir formu oluşturduk

function init(){
  $this->setMethod("post");

  $name = New Zend_Form_Element_Text("name");
  $name->setLabel("Name: ")
  ->setOptions(array("size"=>"35"))
  ->setRequired(true)
  ->addValidator("NotEmpty", true);

  $surname = New Zend_Form_Element_Text("surname");
  $surname->setLabel("Surname: ")
  ->setOptions(array("size"=>"35"))
  ->setRequired(true)
  ->addValidator("Alpha", true);

  $this->addElement($name)
  ->addElement($surname)
  ->addElement($submit);
}

Şimdi burada UserController en createAction olduğu

public function createAction(){
  $this->view->show = "Please Enter your Details";

  $form = new Hotel_Form_Entity();
  $form->setAction("/booking/user/create");
                //and here set the for to be displayed at described in customerForm view
  $form->setDecorators(array(array('ViewScript',array('viewScript'=>'customerForm.phtml'))));
                //so here i set the form to form variable accessible in create view
  $this->view->form = $form;
  if($this->getRequest()->isPost()){
    if($form->isValid($this->getRequest()->getPost())){
      $values = $form->getValues();
      $this->_helper->flashMessenger("Thank you.Form processed");

      $this->_forward("success","user","booking",$values);
    }
  }
}

Şimdi bu create.phtml ve customerForm.phtml vardır

<!-- create.phtml -->
<h4><?php echo $this->show; ?></h4><br/><!--  -->
<p><?php echo $this->form; ?></p><br/> 

 <!-- customerForm.phtml --> 
<div style="padding: 10 0 0 15; border: solid 1.5px #999">
 <form action="<?php echo $this->element->getAction(); ?>" method="<?php echo $this->element->getMethod(); ?>">
  <table>
     <tr>
       <td><?php echo $this->element->name; ?></td>
       <td></td>
     </tr>
     <tr>
       <td></td>
       <td><?php echo $this->element->surname; ?></td>
     </tr>
     <tr>
       <td colspan="2"><?php echo $this->element->submit; ?> </td>
     </tr>
   </table>
  </form> 
 </div>

so when I hit my page as in http://localhost/project/booking/user/create it just displays the layout with the content of the create view with no form. Nothing in page source, no errors.

Bunu kullanmak için veya sadece kodu yanlış bir şey yapıyorum? Ve ben ViewScript dekoratör üzerinde her şeyi kaplayan herhangi bir öğretici olmak değil gibi görünüyor Zend framework 1.10.8 kullanarak beri nasıl yanlış anladınız mı.

Herkes bana bir el verin ve burada onun değerli deneyim paylaşmak miyiz? Bu okuma için çok teşekkür ederim. D: Belki bu bilen bir öğretici yapacağız

0 Cevap