根据书中的Zend教程,我创建了一个基本表格并将其子类化两次 - 一次用于编辑,一次用于创建。我该如何创建仅查看版本?
所有查看详细信息与编辑版本相同,但我不希望用户能够编辑任何字段。
作为一个相关问题 - 编辑版本中有一个字段,我不希望用户能够编辑。实现这一目标的最佳方法是什么?是javascript的答案吗?
答案 0 :(得分:1)
嘿,如果您在基本表单中设置了所有字段,那么您可以这样做:
删除字段
<?php
Application_Model_Form_BaseForm extends Zend_Form {
public function init()
{
$this->addElement('text', 'baseElement', array('addDecoratorsInHere'));
}
}
Application_Model_Form_EditForm extends Application_Model_Form_BaseForm {
public function init()
{
parent::init();
$this->removeElement('baseElement');
}
}
禁用字段,仅查看
我自己从未这样做,但我想你可以创建另一个表单并将所有字段设置为禁用。
<?php
Application_Model_Form_EditForm extends Application_Model_Form_BaseForm {
public function init()
{
parent::init();
$this->getElement('baseElement')->addDecorator(array('disabled' => 'disabled'));
}
}
我希望这有用。
答案 1 :(得分:0)
要拥有“仅查看”表单,我已将子表格编入子类,并包含以下代码:
$allElements = $this->getElements();
foreach ($allElements as $element) {
$element->setAttrib('disabled', 'disabled');
}