EC-CUBE3.0系ではSymfonyComponentの1つであるFormにより、Twig内では強力な関数form_widget、form_errorsが使用できます。

これらは作成したFormType(定義ファイル)に従って自動で初期データ入力やエラー処理をしてくれるというたいへん便利なものです。

ただ、EC-CUBE3では自動でBootstrap3のクラスであるform-controlが付いてしまうためにコーディングの自由が奪われるという話をよく耳にします。

慣れるとこのことを踏まえたコーディングが可能となるので実は高速化につながるのですが、出力したHTMLからform-controlを取り除くことも可能です。
いくつか方法はありますが代表的なものを記載します。

1.Form/form_layout.twigを読み込まないようにする

Application.php内のinitrenderingというメソッドで1行をコメントアウトします。

 

2.bootstrap_3_layout.html.twigを継承しないようにする

{%- extends ‘bootstrap_3_layout.html.twig’ -%}というようにform_layout.twigでは継承が行われています。

これを”form_div_layout.html.twig”を直接継承するなどbootstrap_3_layoutを使用しないようにします。

Bootstrap3なしのフォーム

Bootstrapを使用したくない方はぜひお試しください。

関連するカスタマイズ

form_widgetで出力されるフォームからBootstrapのクラスを取り除く方法... form_widgetとは決まったHTMLでフォームを出力してくれるtwigの関数です。EC-CUBEではほとんどのページでこの関数によりフォームを出力しています。 このHTMLには最初からBootstrap3のクラスが使用されており、このrowやform-controlといったクラスがコーデ...
管理画面のパスワードを紛失・忘れた時に再設定する方法... 管理画面のパスワードを忘れてログインが不可能になった場合、EC-CUBE上で再設定する方法はありません。DB上で直接暗号化されたパスワード(ハッシュ)を修正するか、ソースコードを修正してパスワードなしでログインした上で自分のパスワードを変更する必要があります。 ハッシュを修正するには一定の知識...
ログアウト時にカート内の商品を維持する方法... EC-CUBE3ではログアウト時にカート内の商品が消えてしまいます。これはログアウト時にinvalidateメソッドによりセッションの破棄を行っているためです。 カートの商品を維持するにはinvalidate_sessionの設定をfalseに設定する方法があります。invalidat...
ロゴブロックに入っているh1タグを動的に変更する方法... EC-CUBE3.0の標準テンプレートでは、ロゴエリアはブロックとして配置されており、コントローラと紐付けられていないため、内容を動的に変更するのが若干手間となっています。 今回はh1タグをここに配置したまま商品名やカテゴリ名を動的に入れられるようにする方法をご紹介します。 考え方として...