Eccube\Form\Type\ShippingMultipleType::buildForm PHP Method

buildForm() public method

public buildForm ( Symfony\Component\Form\FormBuilderInterface $builder, array $options )
$builder Symfony\Component\Form\FormBuilderInterface
$options array
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $app = $this->app;
        $builder->addEventListener(FormEvents::POST_SET_DATA, function ($event) use($app) {
            /** @var \Eccube\Entity\ShipmentItem $data */
            $data = $event->getData();
            /** @var \Symfony\Component\Form\Form $form */
            $form = $event->getForm();
            if (is_null($data)) {
                return;
            }
            $shippings = $app['eccube.repository.shipping']->findShippingsProduct($data->getOrder(), $data->getProductClass());
            $form->add('shipping', 'collection', array('type' => 'shipping_multiple_item', 'data' => $shippings, 'allow_add' => true, 'allow_delete' => true));
        });
    }