在 PHP Zend 窗体上设置值


Setting Value on PHP Zend Form

我目前有一个表格可以让你创建一个家庭。

家庭形式.php

$description = new Textarea(self::KEY_FAMILY_DESCRIPTION);
$description->setAttribute("id", self::KEY_FAMILY_DESCRIPTION);
$description->setLabel("Description");
$this->add($description);    
$status = new Hidden(self::KEY_FAMILY_STATUS);
$status->setAttribute("id", self::KEY_FAMILY_STATUS); 
$this->add($status); 
$save = new Button(self::KEY_SAVE_BTN);
$save->setAttributes(array("id", self::KEY_SAVE_BTN));
$save->setLabel("Save");
$save->setValue("Save");
$this->add($save);

Create.phtml

<?php echo ctrlGroup($this, ProjectFamilyForm::KEY_FAMILY_DESCRIPTION, !($this->admin)); ?>
<?php echo ctrlGroup($this, ProjectFamilyForm::KEY_FAMILY_STATUS, !($this->admin)); ?>
<div class="form-actions">
      <?php $save = $this->form->get(ProjectFamilyForm::KEY_SAVE_BTN); ?>
      <?php $save->setAttribute("class", "btn btn-primary"); ?>
      <?php echo $this->formSubmit($save); ?>
      <a class="btn" href="<?php echo $this->url('home'); ?>">Cancel</a>
</div>

这有效,并允许我在创建时输入家庭的描述和状态。 但是,每次创建家庭时,都应该"active" status。 但是,setValue()方法似乎不起作用。

我不是ZEND的专家,但要做到这一点,有一些方法:-

  1. 最可取的方法:- 使数据库表字段set类型并将默认值设置为active

  2. 创建具有预定义active值的隐藏字段。

请查看此链接以获取帮助:- http://forums.zend.com/viewtopic.php?t=2079