Eccube\Form\Type\Admin\DeliveryType::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)
    {
        $builder->add('name', 'text', array('label' => '配送業者名', 'required' => true, 'constraints' => array(new Assert\NotBlank())))->add('service_name', 'text', array('label' => '名称', 'required' => true, 'constraints' => array(new Assert\NotBlank())))->add('description', 'textarea', array('label' => 'ショップ用メモ欄', 'required' => false))->add('confirm_url', 'text', array('label' => '伝票No.URL', 'required' => false, 'constraints' => array(new Assert\Url())))->add('product_type', 'product_type', array('constraints' => array(new Assert\NotBlank())))->add('payments', 'entity', array('label' => '支払方法', 'class' => 'Eccube\\Entity\\Payment', 'property' => 'method', 'expanded' => true, 'multiple' => true, 'required' => false, 'query_builder' => function ($er) {
            return $er->createQueryBuilder('p')->orderBy('p.rank', 'DESC');
        }, 'mapped' => false))->add('delivery_times', 'collection', array('label' => 'お届け時間', 'required' => false, 'type' => 'delivery_time', 'allow_add' => true, 'allow_delete' => true, 'prototype' => true))->add('free_all', 'price', array('label' => false, 'currency' => 'JPY', 'precision' => 0, 'required' => false, 'mapped' => false))->add('delivery_fees', 'collection', array('label' => '都道府県別設定', 'required' => true, 'type' => 'delivery_fee', 'allow_add' => true, 'allow_delete' => true, 'prototype' => true))->addEventListener(FormEvents::POST_SUBMIT, function ($event) {
            $form = $event->getForm();
            $payments = $form['payments']->getData();
            if (empty($payments) || count($payments) < 1) {
                $form['payments']->addError(new FormError('支払方法を選択してください。'));
            }
        });
    }