Zend Form:添加和编辑好的,但是视图呢?

发布于 2024-11-17 00:56:34 字数 183 浏览 0 评论 0原文

按照书中的 Zend 教程,我创建了一个基本表单并将其子类化两次 - 一次用于编辑,一次用于创建。我应该如何创建仅查看版本?

所有查看详细信息与编辑版本相同,但我不希望用户能够编辑任何字段。

作为一个相关问题 - 编辑版本中有一个字段我不希望用户能够编辑。实现这一目标的最佳方法是什么? javascript 是答案吗?

Following a Zend tutorial from a book I have created a Base Form and subclassed it twice - once for Edit, once for Create. How should I go about creating a View only version?

All the View details are the same as the Edit version, but I don't want users to be able to edit any fields.

As a related question - there is one field in the Edit version that I don't want users to be able to edit. What's the best way to achieve this? Is javascript the answer?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

新一帅帅 2024-11-24 00:56:34

嘿,如果您在基本表单中设置了所有字段,那么您可以执行以下操作:

删除字段

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

我希望这有帮助。

Hey if you have all the fields set up in the base form then you can do this:

Remove a field

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

Disabling fields, view only

Ive never done this myself but I guess you could create another form and set all fields to disabled.

<?php
Application_Model_Form_EditForm extends Application_Model_Form_BaseForm {

    public function init()
    {
        parent::init();
        $this->getElement('baseElement')->addDecorator(array('disabled' => 'disabled'));
    }
}

I hope this is helpful.

拒绝两难 2024-11-24 00:56:34

为了拥有“仅查看”表单,我对“编辑”表单进行了子类化,并包含以下代码:

$allElements = $this->getElements();
foreach ($allElements as $element) {
    $element->setAttrib('disabled', 'disabled');
}

To have a 'view only' form, I have subclassed the Edit form, and included the following code:

$allElements = $this->getElements();
foreach ($allElements as $element) {
    $element->setAttrib('disabled', 'disabled');
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文