引き続き twig ファイルについてです。
今回はフォームレイアウトに関して調査をしてみたいと思います。
一般的にフォームレイアウトと云うと以下のような input タグなどを使用します。
<input type="text" name="hoge">
しかし、EC-CUBE 3系の場合は twig の Form 出力関数を使用した記述を行います。
Form 出力関数をざっくり云うと以下の項目があるようです。
■ form
{{ form(<キー名>, <各種オプション>) }} 例 {{ form(form, {'method': 'GET'}) }}
あまり使わない気はしますが一括でフォーム構築を行ってくれるようです。
EC-CUBE3 では余り見かけない気はします。
■ form_start
■ form_end
{{ form_start(<キー名>, <各種オプション>) }} {{ form_end(<キー名>, <各種オプション>) }} 例 {{ form_start(form) }} {{ form_end(form) }}
form の開始タグや終了タグです。
本来は重要な気もするのですが EC-CUBE3 のソースを見ると使っていない様です。
なぜ使用しないかは不明ですが・・・
まぁ、EC-CUBE3では取り立てて使用しなくても良いかもしれません。
■ form_label
{{ form_label(<キー名>, <表示名称>, <各種オプション>) }} 例 {{ form_label(form.name, 'お名前') }}
これ以降の関数にて共通ですがキー名には配列でのフィールド指定が可能となります。
場合によっては多段配列も可能なようですね。
第二引数にて表示名称を設定可能となるようです。
■ form_widget
{{ form_widget(<キー名>, <各種オプション>) }} 例 {{ form_widget(form.name) }}
一番よく使うのではないでしょうか。
input などのタグを実際に表示する際に使用します。
配列に出力内容を配列にまとめて置くと、一括で表示する機能もあるようです。
■ form_errors
{{ form_errors(<キー名>) }} 例 {{ form_errors(form.name) }}
指定フィールドに対するエラーを表示します。
定番で無いと困る内容ですね。
■ form_row
{{ form_row(<キー名>, <各種オプション>) }} 例 {{ form_row(form.name) }}
指定した項目に対して”行”単位の表示を行います。
つまり、上記で紹介した以下の項目を纏めて表示することが出来ます。
詳細に拘らない場合には便利だと思います。
form_label
form_widget
form_errors
■ form_rest
{{ form_rest(<キー名>) }} 例 {{ form_rest(form) }}
ちょっと変わった機能で、指定したフォームの中でまだ表示指定がされていない対象を表示します。
順番や見え方にそれほどこだわりが無い場合には使用してもいい気がします。
また、出力忘れを防ぐのに使えます。(むしろ、この使い方がメインかも・・・)
まぁ、フォームレイアウトに関してはこんなところかと思います。
細かく記述するとオプションの変数名などもありますが、その辺はいつものごとく省略です(笑)
あとは実際のフォームを確認しながら作業していく形になると思います。
実際の作業では、むしろ出力内容を処理する部分の方が重要になります。
この部分に関しては触りながら慣れていけば良いかな・・・、と考えています。
と云うところで今回は終了とさせて頂きます。
余談ですが EC-CUBE の公式サイトがデザイン変更されたようです。
デザインが今までと大きく変わったため URL を何度か確認してしまいました(笑)
ずいぶん思い切った変更だと思います。