【EC-CUBE4】数量入力をセレクトボックスに変更する方法

EC-CUBE4で数量入力をセレクトボックスに変更する方法です。

AddCartTypeのExtensionを作成

以下のようにAddCartTypeのExtensionを作成してください。

今回は数量を1から20まで選択できるようにしています。

<?php

namespace Customize\Form\Extension;

use Eccube\Form\Type\AddCartType;
use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\FormBuilderInterface;

class AddCartTypeExtension extends AbstractTypeExtension
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $Product = $options['product'];

        if ($Product->getStockFind()) {
            $builder->add('quantity', ChoiceType::class, [
                'choices' => array_combine(range(1,20), range(1,20))
            ]);

        }
    }

    /**
    * {@inheritdoc}
    */
    public function getExtendedType()
    {
        return AddCartType::class;
    }
}

 

以上で完成です。

 

 

お気軽にコメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください