簡體   English   中英

Zend Framework 2表單

[英]Zend Framework 2 form

我有兩難選擇。 我想在表單中將綁定(對象)的數據添加到表單中,取決於圖像是否存在,該項目是否顯示在表單上。

我是這樣解決的,但我不知道這是否正確。

        $id = (int) $this->params()->fromRoute('id', 0);
        $coupon = $this->getEntityManager()->find('Application\Entity\Coupon', $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中。

這樣可以使渲染不受控制器的影響,並保持良好的關注點分離。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM