app/Plugin/Blogs42/Form/Type/SearchBlogsType.php line 18

Open in your IDE?
  1. <?php
  2. namespace Plugin\Blogs42\Form\Type;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use Eccube\Entity\Master\ProductListMax;
  5. use Eccube\Entity\Master\ProductListOrderBy;
  6. use Eccube\Form\Type\Master\ProductListMaxType;
  7. use Eccube\Form\Type\Master\ProductListOrderByType;
  8. use Plugin\Blogs42\Repository\CategoryRepository;
  9. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  10. use Symfony\Component\Form\AbstractType;
  11. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  12. use Symfony\Component\Form\Extension\Core\Type\SearchType;
  13. use Symfony\Component\Form\FormBuilderInterface;
  14. use Symfony\Component\OptionsResolver\OptionsResolver;
  15. class SearchBlogsType extends AbstractType
  16. {
  17.     /**
  18.      * @var CategoryRepository
  19.      */
  20.     protected $categoryRepository;
  21.     /**
  22.      * @var EntityManagerInterface
  23.      */
  24.     protected $entityManager;
  25.     /**
  26.      * SearchBlogsType constructor.
  27.      *
  28.      * @param CategoryRepository $categoryRepository
  29.      */
  30.     public function __construct(
  31.         CategoryRepository $categoryRepository,
  32.         EntityManagerInterface $entityManager
  33.     )
  34.     {
  35.         $this->categoryRepository $categoryRepository;
  36.         $this->entityManager $entityManager;
  37.     }
  38.     /**
  39.      * {@inheritdoc}
  40.      */
  41.     public function buildForm(FormBuilderInterface $builder, array $options)
  42.     {
  43.         $Categories $this->categoryRepository
  44.             ->getList(nulltrue);
  45.         $builder->add('mode'HiddenType::class, [
  46.             'data' => 'search',
  47.         ]);
  48.         $builder->add('blogs_category_id'EntityType::class, [
  49.             'class' => 'Plugin\Blogs42\Entity\Category',
  50.             'choice_label' => 'NameWithLevel',
  51.             'choices' => $Categories,
  52.             'placeholder' => 'common.select__all_products',
  53.             'required' => false,
  54.         ]);
  55.         $builder->add('blogs_monthly'HiddenType::class, []);
  56.         $builder->add('pageno'HiddenType::class, []);
  57.         $builder->add('disp_number'ProductListMaxType::class, [
  58.             'label' => false,
  59.             'choices' => $this->entityManager->getRepository(ProductListMax::class)->findBy([], ['sort_no' => 'ASC']),
  60.         ]);
  61.     }
  62.     /**
  63.      * {@inheritdoc}
  64.      */
  65.     public function configureOptions(OptionsResolver $resolver)
  66.     {
  67.         $resolver->setDefaults([
  68.             'csrf_protection' => false,
  69.             'allow_extra_fields' => true,
  70.         ]);
  71.     }
  72.     /**
  73.      * {@inheritdoc}
  74.      */
  75.     public function getBlockPrefix()
  76.     {
  77.         return 'search_blogs';
  78.     }
  79. }