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;
}
}
以上で完成です。
