<?php
/*
* This file is part of EC-CUBE
*
* Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
*
* http://www.ec-cube.co.jp/
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Eccube\Form\Type\Master;
use Eccube\Entity\Master\ProductListOrderBy;
use Eccube\Form\Type\MasterType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\OptionsResolver\OptionsResolver;
class ProductListOrderByType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) {
$options = $event->getForm()->getConfig()->getOptions();
if ($event->getData() === null) {
$event->setData((string) $options['choices'][0]->getId());
}
});
}
/**
* {@inheritdoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'class' => ProductListOrderBy::class,
]);
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'product_list_order_by';
}
/**
* {@inheritdoc}
*/
public function getParent()
{
return MasterType::class;
}
}