質問 > フロント機能 > ※追加質問あり※ お届け先にメールアドレスを表示・変更などをしたい。 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
matsui |
投稿日時: 2015/2/10 15:50
対応状況: −−−
|
半人前 登録日: 2012/5/17 居住地: 京都府 投稿: 18 |
※追加質問あり※ お届け先にメールアドレスを表示・変更などをしたい。 ECCUBE2.13にて開発を行っております。
「新しいお届け先を追加する」をクリック時、 メールアドレス項目を表示し、 変更時には登録されているお届け先のアドレスを表示・変更をしたいです。 テンプレート/frontparts/form_personal_input.tpl の、 ------------------------------------------------- <!--{if $flgFields > 1}--> <tr> <th>メールアドレス<span class="attention">※</span></th> <td> <!--{assign var=key1 value="`$prefix`email"}--> <!--{assign var=key2 value="`$prefix`email02"}--> <!--{if $arrErr[$key1] || $arrErr[$key2]}--> <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div> <!--{/if}--> <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->; ime-mode: disabled;" class="box300 top" /><br /> <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" style="<!--{$arrErr[$key1]|cat:$arrErr[$key2]|sfGetErrorColor}-->; ime-mode: disabled;" class="box300" /><br /> <span class="attention mini">確認のため2度入力してください。</span> </td> </tr> <!--{if $emailMobile}--> <tr> <th>携帯メールアドレス</th> <td> <!--{assign var=key1 value="`$prefix`email_mobile"}--> <!--{assign var=key2 value="`$prefix`email_mobile02"}--> <!--{if $arrErr[$key1] || $arrErr[$key2]}--> <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div> <!--{/if}--> <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->; ime-mode: disabled;" maxlength="<!--{$smarty.const.MTEXT_LEN}-->" class="box300 top" /><br /> <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" style="<!--{$arrErr[$key1]|cat:$arrErr[$key2]|sfGetErrorColor}-->; ime-mode: disabled;" maxlength="<!--{$smarty.const.MTEXT_LEN}-->" class="box300" /><br /> <span class="attention mini">確認のため2度入力してください。</span> </td> </tr> <!--{/if}--> <!--{if false}--> ------------------------------------------------- の部分を、下記のように変更しました。 ------------------------------------------------- <tr> <th>メールアドレス<span class="attention">※</span></th> <td> <!--{assign var=key1 value="`$prefix`email"}--> <!--{assign var=key2 value="`$prefix`email02"}--> <!--{if $arrErr[$key1] || $arrErr[$key2]}--> <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div> <!--{/if}--> <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->; ime-mode: disabled;" class="box300 top" /><br /> <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" style="<!--{$arrErr[$key1]|cat:$arrErr[$key2]|sfGetErrorColor}-->; ime-mode: disabled;" class="box300" /><br /> <span class="attention mini">確認のため2度入力してください。</span> </td> </tr> <!--{if $flgFields > 1}--> <!--{if $emailMobile}--> <tr> <th>携帯メールアドレス</th> <td> <!--{assign var=key1 value="`$prefix`email_mobile"}--> <!--{assign var=key2 value="`$prefix`email_mobile02"}--> <!--{if $arrErr[$key1] || $arrErr[$key2]}--> <div class="attention"><!--{$arrErr[$key1]}--><!--{$arrErr[$key2]}--></div> <!--{/if}--> <input type="text" name="<!--{$key1}-->" value="<!--{$arrForm[$key1].value|h}-->" style="<!--{$arrErr[$key1]|sfGetErrorColor}-->; ime-mode: disabled;" maxlength="<!--{$smarty.const.MTEXT_LEN}-->" class="box300 top" /><br /> <input type="text" name="<!--{$key2}-->" value="<!--{$arrForm[$key2].value|h}-->" style="<!--{$arrErr[$key1]|cat:$arrErr[$key2]|sfGetErrorColor}-->; ime-mode: disabled;" maxlength="<!--{$smarty.const.MTEXT_LEN}-->" class="box300" /><br /> <span class="attention mini">確認のため2度入力してください。</span> </td> </tr> <!--{/if}--> <!--{if false}--> ------------------------------------------------- dtb_shippingへ「email」のカラムを追加しました。 「新しいお届け先を追加する」をクリック時の お届け先の変更・追加のポップアップウィンドウの項目には メールアドレスのテキストボックスが表示されるようになりましたが、 追加登録のために入力をし、登録を押してもDBには反映されません。 また、dtb_shippingへ直接アドレスを追加入力しておいても ポップアップウィンドウのメールの項目には登録されているデータが表示されません。 お届け先の変更画面での、データ取得を print_r ($this);にて確認したところ、 データは入っているようです。 何かほかにDBやテンプレート等、追記すべきところや変更箇所はありますでしょうか? どなたかご教授願います。 |
IPLOGIC |
投稿日時: 2015/2/10 18:32
対応状況: −−−
|
一人前 登録日: 2014/12/8 居住地: 東京都 投稿: 96 |
Re: お届け先にメールアドレスを表示・変更などをしたい。 matsui 様
「新しいお届け先を追加する」フォームにメールアドレスを入力する項目を追加したいとのことですが、PHP側のカスタマイズは行いましたでしょうか? 新しく入力項目を増やす場合SC_Helper_Customer.phpに入力する項目のパラメータを定義する必要があります。 またデータベースのdtb_other_delivテーブルにメールアドレスを登録するカラムを追加する必要もあります。
|
matsui |
投稿日時: 2015/2/12 13:47
対応状況: −−−
|
半人前 登録日: 2012/5/17 居住地: 京都府 投稿: 18 |
Re: お届け先にメールアドレスを表示・変更などをしたい。 ごしてきたありがとうございます。
SC_Helper_Customer.phpへの追記部分が一箇所漏れていたようで、無事表示することができました。 このメールアドレス登録なのですが、 会員登録のみ必須、届け先では任意入力というふうに切り分けることは可能なのでしょうか? また、その場合はどのように記述すればよいのでしょうか? |
yuh |
投稿日時: 2015/2/12 18:08
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: お届け先にメールアドレスを表示・変更などをしたい。 お届け先はLC_Page_Mypage_DeliveryAddrで会員登録はSC_Helper_Customerになるので、そこらへんで制御すればいいと思います。
|
matsui |
投稿日時: 2015/2/13 13:27
対応状況: −−−
|
半人前 登録日: 2012/5/17 居住地: 京都府 投稿: 18 |
Re: お届け先にメールアドレスを表示・変更などをしたい。 制御についてお教えいただきありがとうございます。
しかしながら、どのあたりで制御するとよいのかが分かりません…。 SC_Helper_Customer.php内sfCustomerCommonParamの中で if ( ){ //会員登録の時 $objFormParam->addParam('メールアドレス', $prefix . 'email', STEXT_LEN, 'n', array('EXIST_CHECK','SPTAB_CHECK', 'MAX_LENGTH_CHECK')); }else{ //お届け先の時 $objFormParam->addParam('メールアドレス', $prefix . 'email', STEXT_LEN, 'n', array('SPTAB_CHECK', 'MAX_LENGTH_CHECK')); } というふうに判断することは可能でしょうか? その場合、if文をどう指定すればよいのかもわかりません。 内容のわかりにくい質問で申し訳ありませんが、教えていただけますでしょうか? |
yuh |
投稿日時: 2015/2/13 13:43
対応状況: −−−
|
神 登録日: 2013/1/9 居住地: 大阪 投稿: 1819 |
Re: お届け先にメールアドレスを表示・変更などをしたい。 LC_Page_Mypage_DeliveryAddrにEXISTSで追加すればいいと思います。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |