2010-01-10 5 views
0

Я пытаюсь воссоздать вкладки, созданные в следующем блоге, для моего сайта.PHP Zend не отображен правильно

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

В настоящее время у меня есть отображение формы на моей странице, однако вместо вкладок она отображает всю форму, как обычно. Я знаю, что форма отображает подформы, поскольку я их прокомментировал, и они исчезают. Может ли кто-нибудь помочь мне найти путь к просветлению? Я считаю, что все, что уместно, ниже. Я включил додзё Base 1.4.0, расположенный

http://www.dojotoolkit.org/downloads 

У меня есть ссылка на HTML создается здесь, если это помогает, как хорошо.

http://shortText.com/tljfsq6l37 

У меня есть следующая страница AdminController.php.

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; 

} 
} 
?> 

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'); 

} 
} 
?> 

Следующая в header.phtml, который включен на этой странице.

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

и следующие на странице createEvent.phtml Я пытаюсь смотреть

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

У нас нет идей? – Joe

ответ

2

Трудно точно сказать, что эта проблема может быть без вашего CSS и т.д., - но вы, кажется, есть некоторые довольно серьезные проблемы в вашем HTML-источнике, поэтому постарайтесь, чтобы они были исправлены раньше всего.

Например, у вас есть дубликат <html> элемента внутри <div id="head"> элемента (в том числе дублированных <head> и <body> элементов), и что неизбежно приведет к некоторым непредсказуемому поведению.

Должен сказать, что я не совсем уверен, как вы получили такой выход. Вы используете макеты? Похоже, вы создали внутренний элемент <html> в своем сценарии просмотра, а затем он был завернут вторым сценарием макета. Возможно, просто проверьте, что вы определенно создаете только элементы html, head, body в одном месте и посмотрите, с чего это начать ...

+0

Спасибо, я понял это из того, что вы заявили. У меня было что-то в макете, которая также создавалась. Из них вызывались оба файла js, что вызывало ошибку. благодаря – Joe

Смежные вопросы