Zend Framework 2表单

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zend Framework 2表单相关的知识,希望对你有一定的参考价值。

我陷入两难境地。我希望以我的形式将绑定(对象)的数据添加到表单中,具体取决于图像是否存在,该项目是否显示在表单上。

我这样解决了,但我不知道这是否正确。

        $id = (int) $this->params()->fromRoute('id', 0);
        $coupon = $this->getEntityManager()->find('ApplicationEntityCoupon', $id);

        $forms = $this->getServiceLocator()->get('FormElementManager');
        $form = $forms->get('CouponForm');

        $form->bind($coupon);
        $form->setBindOnValidate(false);
        $form->get('dateStart')->setValue($coupon->getDateStart()->format('Y-m-d'));
        $form->get('dateEnd')->setValue($coupon->getDateEnd()->format('Y-m-d'));

        if($coupon->getImageUrl()) {
            $form->get('image')->setAttribute('src', $coupon->getImageUrl());
        }else {
            $form->remove('image');
        }

可以解决更好的问题吗?

答案

如果您希望更改表单本身的显示,则呈现/不呈现优惠券的逻辑很可能存在于View Helper中。

这使得渲染不受控制器的影响,并保持良好的关注点分离。

以上是关于Zend Framework 2表单的主要内容,如果未能解决你的问题,请参考以下文章

如何模拟 Zend\Form 提交而不在 Zend Framework 2/3 中显示表单?

Zend Framework 2表单

如何模拟Zend Form提交而不在Zend Framework 2/3中显示表单?

Zend Framework提交2个表单,1个提交[关闭]

如何在 Zend Framework 2 中实现表单预览页面?

Zend Framework 2 形式