Symfony3.0でフォームの確認画面を作成したいと思っています。
コントローラーで下記のようにして
$form = $this->createForm(HogeType::Class, $hoge); $form->handleRequest($request);
下記のようにview渡しています。
'form' => $form->createView()
Viewファイルでは
{{ form_start(form) }} {% for formdata in form | slice(0, form|length-1) %} {# formの最後にtokenが格納されているためforから除いています。 #} <div class="form-group"> <div class="col-xs-2 itemname-area"> {{ form_label(formdata) }} </div> <div class="col-xs-10"> {{ form_widget(formdata, {'attr': {'class':'form-control'}} ) }} </div> </div> {% endfor %} <div class="center-btn-area"> <a href="{{ path('hoge_update') }}" > <button type="button" class="btn">登録する</button> </a> <a href="{{ path('hoge_edit', { 'serial': serial }) }}" > <button type="button" class="btn">修正</button> </a> </div> {{ form_end(form) }}
としています。
{% form_theme form _self %} {# formのテンプレートをオーバーライドしてinput要素にdisabledを設定する #} {%- block form_widget_simple -%} {%- set type = type|default('text') -%} <input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %} disabled="disabled"/> {%- endblock form_widget_simple -%}
他のサイトでは上記のようにして、入力不可にして確認画面に表示しているかたがいらっしゃいました。
しかし、このやり方だとselectやtextareaなどがうまく入力不可にできません。
inputのtypeのところを編集するのでしょうがうまくいきません。
form_themeの使いかたもイマイチ理解できませんでした。
詳しい方ご指導よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。