2010-01-10 12 views
0

J'essaie de recréer les formulaires à onglets du blog suivant pour mon site Web. J'ai actuellement le formulaire affiché sur ma page, mais à la place des onglets, il affiche la forme entière comme d'habitude. Je sais que le formulaire affiche les sous-formulaires comme je les ai commentés et ils disparaissent. Quelqu'un peut-il m'aider à trouver le chemin de l'illumination? Je crois que tout ce qui est pertinent est ci-dessous. J'ai inclus la 1.4.0 de base dojo situéPHP Zend ne s'affiche pas correctement

http://www.dojotoolkit.org/downloads 

J'ai un lien vers le code html en cours de création si cela aide aussi bien.

http://shortText.com/tljfsq6l37 

J'ai la page AdminController.php suivante.

class AdminController extends Zend_Controller_Action 
{ 

public function init() 
{ 
    /* Initialize action controller here */ 
} 

public function createeventAction() 
{ 
    $this->view->page = 'createEvent';  
    $this->view->title = "Early Signup Administration"; 
    $this->view->headTitle($this->view->title, 'PREPEND'); 

    $createEventForm = new Form_CreateEvent(); 
    $this->view->form = $createEventForm; 

} 
} 
?> 

Un formulaire CreateEvent.php

<?php 
class Form_CreateEvent extends Form_Event 
{ 
public function __construct($options = null) 
{ 
    parent::__construct($options = null); 

    $shirt_sizes = array('s' => 'Small', 'm' => 'medium', 'l' => 'large', 'xl' => 'X-Large', 'XX' => 'XX-Large', '3X' => 'XXX-Large'); 

    $this->setDecorators(array(
    'FormElements', 
    array('TabContainer', array(
    'id' => 'tabContainer', 
    'style' => 'width: 600px; height: 500px;', 
    'dijitParams' => array(
    'tabPosition' => 'top' 
    ), 
    )), 
    'DijitForm', 
    ));   

    $this->setName('createEvent'); 
    $idEvent = new Zend_Form_Element_Hidden('idEvent');   

    $type = parent::setName($this->type); 
    $name = parent::setName($this->name); 
    $city = parent::setName($this->city); 
    $state = parent::setName($this->state); 
    $location = parent::setName($this->location); 
    $date = parent::setName($this->date); 
    $shirtRequired = parent::setName($this->shirtRequired); 
    $eventImage = parent::setName($this->eventImage); 
    $eventUrl = parent::setName($this->eventUrl); 
    //$submit = parent::setName($this->submit); 


    $shirtSize = new Zend_Form_Element_MultiCheckbox ('shirtSize'); 
    $shirtSize->setLabel('Shirt Size') 
       ->setRequired(false) 
       ->addMultiOptions($shirt_sizes) 
       ->setValue(array('s','m','l','xl')) 
       ->addFilter('StripTags') 
       ->addFilter('StringTrim'); 


    $directorEmail = new Zend_Form_Element_Text('email'); 
    $directorEmail->setLabel('Director\'s Email') 
      ->setRequired(false) 
      ->addFilter('StripTags') 
      ->addFilter('StringTrim');    

    $waiverTitle = new Zend_Form_Element_Text('waiverTitle'); 
    $waiverTitle->setLabel('Waiver Title') 
      ->setRequired(false) 
      ->addFilter('StripTags') 
      ->addFilter('StringTrim');    

    $waiverText = new Zend_Form_Element_Text('waiverText'); 
    $waiverText->setLabel('Waiver Text') 
      ->setRequired(false) 
      ->addFilter('StripTags') 
      ->addFilter('StringTrim');    

    $eventClosedMessage = new Zend_Form_Element_Text('eventClosedMessage'); 
    $eventClosedMessage->setLabel('Event Closed Message') 
      ->setRequired(false) 
      ->addFilter('StripTags') 
      ->addFilter('StringTrim');    

    $logoFlag = new Zend_Form_Element_Radio('logoFlag'); 
    $logoFlag->setLabel('Select Logo Image') 
      ->setRequired(false) 
      ->addMultiOptions(array(
      'logo' => 'Logo', 
      'not_logo' => 'Not Logo')) 
      ->addFilter('StripTags'); 

    /* $this->addElements(array($shirtSize, 
          $directorEmail, 
          $waiverTitle, 
          $waiverText, 
          $eventClosedMessage, 
          $logoFlag 
          )); */ 

    $subForm1 = new Zend_Dojo_Form_SubForm(); 

    $subForm1->setAttribs(array(
    'name' => 'textboxtab', 
    'legend' => 'Text Elements', 
    'dijitParams' => array(
    'title' => 'Text Elements', 
    ), 
    )); 

    $subForm1->addElements(array($shirtSize, 
          $directorEmail, 
          $waiverTitle)); 

    $subForm2 = new Zend_Dojo_Form_SubForm(); 

    $subForm2->setAttribs(array(
    'name' => 'toggletab', 
    'legend' => 'Toggle Elements', 
    )); 

    $subForm2->addElements(array( 
          $waiverText, 
          $eventClosedMessage, 
          $logoFlag 
          )); 

$this->addSubForm($subForm1, 'textboxtab') 
     ->addSubForm($subForm2, 'editortab'); 

} 
} 
?> 

Ce qui suit dans le header.phtml qui est inclus sur cette page.

<SCRIPT TYPE="text/javascript" SRC="/dojo/dojo.js"></SCRIPT> 
<script type="text/javascript"> 
dojo.require("dojo.parser"); 
</script> 

et ce qui suit sur la page createEvent.phtml Je suis en train de voir

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

Vous avez des idées? – Joe

Répondre

2

Difficile de dire exactement ce que le problème pourrait être sans votre CSS, etc. - mais vous semblent avoir une certaine problèmes assez graves dans votre source HTML, alors essayez de les faire réparer avant toute autre chose.

Par exemple, vous avez un élément <html> double dans l'élément <div id="head"> (y compris les éléments <head> et <body> en double), et qui est lié à conduire à un comportement quelque peu imprévisible.

Dois-je dire que je ne suis pas tout à fait sûr de la façon dont vous auriez ce genre de sortie. Utilisez-vous des mises en page? Il semble que vous ayez créé l'élément interne <html> dans votre script de vue, puis il a été enveloppé dans un second par le script de mise en page. Peut-être que juste vérifier que vous êtes en train de créer les éléments html, head, body en un seul endroit et voir où cela vous amène ...

+0

Merci, je l'ai compris à partir de ce que vous avez déclaré. J'avais quelque chose dans la mise en page qui était également en cours de création. Les deux fichiers js ont été appelés à partir de là provoquant l'erreur. Merci – Joe