WEBサイト制作・アプリ開発・システム開発・ブランディングデザイン制作に関するご相談はお気軽にご連絡ください。
構想段階からじっくりとヒアリングし、お客様の課題にあわせたアプローチ手法でお客様の“欲しかった”をカタチにしてご提案いたします。
Blog スタッフブログ
EC-CUBE
システム開発
[EC-CUBE]twigでのformの値取得
システム開発担当のTFです。
やり方
- FormTypeを利用
- twigで vars.value で値を取り出し利用する
サンプル
<?php
// 省略
class OrderType extends AbstractType
{
// 省略
public function buildForm(FormBuilderInterface $builder, array $options)
{
// 省略
if ($this->baseInfoRepository->get()->isOptionPoint() && $this->requestContext->getCurrentUser()) {
$builder->add('use_point', IntegerType::class, [
'required' => false,
'constraints' => [
new NotBlank(),
new Regex([
'pattern' => "/^\d+$/u",
'message' => 'form_error.numeric_only',
]),
new Length(['max' => 11]),
],
]);
}
// 省略
}
// 省略
}// 省略
class ShoppingController extends AbstractShoppingController
{
// 省略
public function index(PurchaseFlow $cartPurchaseFlow)
{
// 省略
$form = $this->createForm(OrderType::class, $Order);
return [
'form' => $form->createView(),
'Order' => $Order,
];
}
// 省略
}{# 省略 #}
{# vars.value で値が取れる #}
<input id="point_form" type="number" class="form-control" min="0" max="{{ totalprice_without_tax }}" value="{{ form.use_point.vars.value }}" >
{{ form_widget(form.use_point, { 'type': 'hidden', 'attr': { 'type': 'text', 'class': 'form-control', 'min':0, 'max': totalprice_without_tax }}) }}
{{ form_errors(form.use_point) }}
<button class="ec-inlineBtn" id="point_submit" >決定</button>
{# 省略 #}