2010-01-10 59 views
0

我正在尝试为我的网站重新创建以下博客的选项卡式窗体。PHP Zend无法正确显示

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

我目前的表单显示在我的页面上,但不是制表符显示正常的整个表单。我知道窗体正在显示子窗体,因为我已将它们评论出来并消失。有人能帮助我找到启蒙之路吗?我相信有关的一切都在下面。我已经包括位于

http://www.dojotoolkit.org/downloads 

我有一个链接到这里创建的HTML是否有帮助,以及道场基地1.4.0。

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> 

,我试图查看

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

没有人有任何想法? – Joe 2010-01-10 15:29:54

回答

2

难以启齿的问题可能是什么没有你的CSS等createEvent.phtml页以下 - 但你似乎有一些在您的HTML源代码中存在非常严重的问题,所以会尝试在其他任何事情之前修复它们。

例如,你有<div id="head">元件(包括复制<head><body>元件)内的重复<html>元件,并且被绑定到导致有些不可预测的行为。

不得不说我不太清楚你会如何得到这种输出。你在使用布局吗?它看起来像你可能在你的视图脚本中创建了内部<html>元素,然后它被布局脚本包装在第二个元素中。也许只是检查你确实只是在一个地方创建HTML,头部,身体元素,看看你从哪里开始...

+0

谢谢,我从你所述的内容中找出了它。我在布局中也有一些东西正在创建。这两个js文件都是从那里调用导致错误发生。谢谢 – Joe 2010-01-12 20:14:48