Question

Je suis en train de recréer les formes à onglets du blog suivant pour mon site.

http://zendguru.wordpress.com/2009/01/15/zend-framework-and-dojo-creating-tabbed-form/

J'ai actuellement la forme affichage sur ma page, mais au lieu de les onglets il affiche la forme tout comme normal. Je sais que la forme affiche les sous-formulaires que je les ai commenté et ils disparaissent. Quelqu'un peut-il me aider à trouver le chemin de l'illumination? Je crois que tout ce qui concerne est ci-dessous. J'ai inclus la 1.4.0 de base dojo situé

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 ;?>
Était-ce utile?

La solution

Difficile de dire exactement ce que le problème pourrait être sans votre CSS, etc -. Mais vous ne semblez avoir quelques problèmes assez sérieux dans votre source HTML, donc serait essayer de les fixer avant toute autre chose

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

Je dois dire que je ne suis pas tout à fait sûr que vous auriez eu ce genre de sortie. Utilisez-vous mises en page? Il semble un peu comme vous avez créé l'élément <html> interne dans votre script de vue, puis il a été enveloppé dans un second par le script de mise en page. Peut-être vérifier que vous êtes certainement créer que les html, la tête, les éléments du corps en un seul endroit et voir où cela vous arrive à commencer par ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top