> プラグイン > 規定画面とプラグインとでフォームの出力時の体裁が異なる件 |
プラグイン
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ikemoto |
投稿日時: 2015/11/9 22:50
対応状況: −−−
|
一人前 登録日: 2015/10/2 居住地: 投稿: 79 |
規定画面とプラグインとでフォームの出力時の体裁が異なる件 お世話になります。
現在、規定の画面にプラグインからの出力を合体しようとしています。 htmlベースでcrawlerを使うのではなく、 コントローラーで規定のFormとプラグインのFormを両方Renderに渡しています。 ※crawlerで差替えるやりかたでもこの現象は発生するみたいですが… 後述するコントローラでRenderに渡している変数について form:src\Eccube\Form\Type\Admin\ShopMasterType.php をそのまま呼出し使用 form_ext:プラグインフォルダ内にフォーム定義を作成し、それを呼出し使用 …となっています。 そして、テンプレートでどちらも form_row を使用して表示しているのですが、 form:<div>で囲まれたレスポンシブデザイン対応の体裁入り? form_ext:trで囲まれたテーブルありきの体裁 という、異なった出力となります。 プラグインの方て定義した方も form_row での表示の際に 他の項目と同様<div>〜での体裁で出力されるようにしたいのですが、 何か良い対策はありますでしょうか? 最悪手作業で<div>囲みを作っても良いかな、とは思っているのですが、 仕様変更で規定画面の<div>〜が変更された場合追従するのが大変なので… 【コントローラー側 主要部】 $form = $app['form.factory'] ->createBuilder('shop_master',$BaseInfo) ->getForm(); $form_ext = $app['form.factory'] ->createBuilder('admin_member_shop_ext') ->getForm(); return $app->render('hogehoge.twig', array( 'form' => $form->createView(), 'form_ext' => $form_ext->createView() )); 【テンプレート側 主要部】 {{ form_row(form_ext.login_id) }} {{ form_row(form.company_name) }} 【出力ソース 主要部】 ↓プラグインフォルダ内でフォーム定義するとこの出力になる <tr> <th><label for="admin_member_shop_ext_login_id">ログインID</label></th> <td><input type="text" id="admin_member_shop_ext_login_id" name="admin_member_shop_ext[login_id]" maxlength="100" /></td> </tr> ↓src\Eccube\Form\Typeに存在する定義を使用するとこの出力になる <div class="form-group"> <label class="col-sm-2 control-label" for="shop_master_company_name">会社名</label> <div class="col-sm-10"> <input type="text" id="shop_master_company_name" name="shop_master[company_name]" class="form-control" /> </div> </div> |
ikemoto |
投稿日時: 2015/11/10 1:14
対応状況: 解決済
|
一人前 登録日: 2015/10/2 居住地: 投稿: 79 |
Re: 規定画面とプラグインとでフォームの出力時の体裁が異なる件 色々しているうちにわかりました。
<div>〜が適用されるのは、 プラグイン側でフォーム定義を作ったかどうかは全く関係なくて、 テンプレートに引き渡す際に フォームビルダの結果を「form」に引き渡す、という点が重要。 それ以外のform_addとかform_extとか、form以外の変数名で渡すとtrタグで囲まれる ↑の制御については、どこかでカスタマイズが入っている? さしあたっては全部formに入れ込んでしまえば デザインは統一される、ということで、 form_extの内容はformに積み上げて全部formに入れることでなんとかなりました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |