在 PHP Zend Form 上设置值

Setting Value on PHP Zend Form

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

FamilyForm.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>

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

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

  1. 最可取的方式:- 让你的 db table 字段 set 类型并将默认值设置为 active.

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

请检查此 link 以获得帮助:- http://forums.zend.com/viewtopic.php?t=2079