バージョン選択

フォーラム

メニュー

オンライン状況

42 人のユーザが現在オンラインです。 (22 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 42
もっと...

サイト内検索

質問 > フロント機能 > 入力フォームのclass等追加について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
earth012
投稿日時: 2016/10/7 2:19
対応状況: −−−
半人前
登録日: 2016/10/4
居住地:
投稿: 28
入力フォームのclass等追加について
eccube3にて
入力フォーム系でclassやinput_type等を追記や変更をする場合
どの部分をすればよいのでしょうか?

テンプレートで
{{ form_widget(●●●) }}から呼び出ししてると思いますが、、
ご教授お願いします。

 
umebius
投稿日時: 2016/10/7 8:19
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 2085
Re: 入力フォームのclass等追加について
/src/Eccube/Form/Type 配下にある
AbstractTypeを継承しているクラスになります。

例えば問い合わせフォームなら
/src/Eccube/Form/Type/Front/ContactType.php
です。

$builder->addの第2引数がinput_typeに近いもので、
classはこんな感じで付けられますよ。
$builder->add('login_id', 'text', array(
'attr' => array(
'class' => 'hoge',
),


----------------
EC-CUBEカスタマイズ 承ります。
【EC-CUBEで開発してみたいエンジニア募集中】

earth012
投稿日時: 2016/10/8 8:14
対応状況: −−−
半人前
登録日: 2016/10/4
居住地:
投稿: 28
Re: 入力フォームのclass等追加について
入力フォームについて、
ContactType.phpの45行目付近に追加したのですが、
以下のように書いても反映されないのですが、、classを指定する場合はどこまちがってますでしょうか?

$builder
->add('name', 'name', array(
'required' => true,
'attr' => array(
'class' => 'hoge', //追加
),
))
->add('kana', 'kana', array(
'required' => true,
umebius
投稿日時: 2016/10/8 12:03
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 2085
Re: 入力フォームのclass等追加について
FormType"name"は
子要素を複数持つ集合体ですのでそのままでは反映されません

Twigで子要素に直接当てるのが簡単です
{{ form_widget(form.name.name01, {attr : {class : 'hoge'}}) }}

https://umebius.com/eccube/%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E7%AD%89%E3%81%A7input%E3%80%81select%E3%81%ABclass%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/


----------------
EC-CUBEカスタマイズ 承ります。
【EC-CUBEで開発してみたいエンジニア募集中】

earth012
投稿日時: 2016/10/9 8:10
対応状況: −−−
半人前
登録日: 2016/10/4
居住地:
投稿: 28
Re: 入力フォームのclass等追加について
アドバイスありがとうございます。
大変勉強になりました。
ご教授どおりに直接Twigに書くと反映されましたが、

反映されない子要素があるのですが、なぜでしょうか。
郵便番号やアドレスには反映されません。。。

{{ form_widget(form.address, {attr : {class : 'hoge'}}) }}

※参考アドレスありがとうございます。
参考アドレスには attrの前のカンマがもれてると思うのですが。
( ,{attr )
umebius
投稿日時: 2016/10/9 12:33
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 2085
Re: 入力フォームのclass等追加について
カンマのご指摘ありがとうございます!助かります。

なぜzipやaddressで反映されないかですが、
理由はそれらがさらに親要素になっているからです。

form.zipはZipType.phpというFormTypeでさらに細かく定義されています。

form.zip.zip01
form.zip.zip02
という子フィールドです。

{{ form_widget(form.zip.zip01, {attr : {class : 'hoge'}}) }}
{{ form_widget(form.zip.zip02, {attr : {class : 'hoge'}}) }}


----------------
EC-CUBEカスタマイズ 承ります。
【EC-CUBEで開発してみたいエンジニア募集中】

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン



統計情報

総メンバー数は75,050名です
総投稿数は104,353件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2202
5
umebius
2085
6
yuh
1664
7
red
1535
8
h_tanaka
1189
9
tsuji
942
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437
Copyright© EC-CUBE CO.,LTD. All Rights Reserved.