バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > データベースから生年月日を呼び出し、表示させたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tcgakataka
投稿日時: 2019/12/3 0:54
対応状況: −−−
新米
登録日: 2016/6/8
居住地:
投稿: 5
データベースから生年月日を呼び出し、表示させたい
2.13を使用しています。

問い合わせフォーム等に生年月日の項目を追加したくカスタマイズしているのですが、
会員ログイン状態でページを訪問した際にデフォルトで登録されている生年月日を呼び出したいのですが、表示が上手くいかず手こずっています。

状態としては、名前や住所といったその他の項目は会員データを呼び出し、表示が出来ているのですが、生年月日のプルダウンのみ会員データの表示が出来ていません。

具体的にはログイン状態でページを訪問すると

----年 --月 --日

といった表示になってしまい、登録されている生年月日が表示されていません。

ただ、登録されているデータとは違う適当な数値を選択すると、フォームの入力内容確認画面では登録されている生年月日が表示されます。


ファイル、コードは以下の状態です。


【/Smarty/templates/default/frontparts/form_personal_input.tpl】

<tr>
<th>生年月日<span class="attention">※</span></th>
<td>
<!--{assign var=key1 value="`$prefix`year"}-->
<!--{assign var=key2 value="`$prefix`month"}-->
<!--{assign var=key3 value="`$prefix`day"}-->
<!--{assign var=errBirth value="`$arrErr.$key1``$arrErr.$key2``$arrErr.$key3`"}-->
<!--{if $errBirth}-->
<div class="attention"><!--{$errBirth}--></div>
<!--{/if}-->
<select name="<!--{$key1}-->" style="<!--{$errBirth|sfGetErrorColor}-->">
<!--{html_options options=$arrYear selected=$arrForm[$key1].value|default:$arrData.year|h}-->
</select>年&nbsp;
<select name="<!--{$key2}-->" style="<!--{$errBirth|sfGetErrorColor}-->">
<!--{html_options options=$arrMonth selected=$arrForm[$key2].value|default:$arrData.month|h}-->
</select>月&nbsp;
<select name="<!--{$key3}-->" style="<!--{$errBirth|sfGetErrorColor}-->">
<!--{html_options options=$arrDay selected=$arrForm[$key3].value|default:$arrData.day|h}-->
</select>日
</td>
</tr>


どうかご助言いただけませんでしょうか。
468
投稿日時: 2019/12/3 11:30
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: データベースから生年月日を呼び出し、表示させたい
該当ページのテンプレートに会員データを渡す時に
SC_Helper_Customer_Ex::sfGetCustomerData($customer_id)
の処理は利用されていますか?

セッションから取り出した会員情報そのままだと
「birth」というカラム名で'Y-m-d'形式のデータが出てきているのではないかと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

tcgakataka
投稿日時: 2019/12/3 20:09
対応状況: −−−
新米
登録日: 2016/6/8
居住地:
投稿: 5
Re: データベースから生年月日を呼び出し、表示させたい
ご教授有難うございます。

関連するclassでは確かに下記のようにセッションから取り出した会員情報を使用していました。

$this->arrData = isset($_SESSION['customer']) ? $_SESSION['customer'] : '';

これをおっしゃられている
SC_Helper_Customer_Ex::sfGetCustomerData($customer_id)
に変更したいのですが、どの様に指定すればよろしいでしょうか。。。
もう一押しご助力いただけませんでしょうか
468
投稿日時: 2019/12/4 0:37
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: データベースから生年月日を呼び出し、表示させたい
試していないのでこれで動くかどうか分かりませんが
$_SESSION['customer']からcustomer_idを取り出して利用すれば良いかと思います。

$this->arrData = isset($_SESSION['customer']) ? SC_Helper_Customer_Ex::sfGetCustomerData($_SESSION['customer']['customer_id']) : '';


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

tcgakataka
投稿日時: 2019/12/4 3:02
対応状況: −−−
新米
登録日: 2016/6/8
居住地:
投稿: 5
Re: データベースから生年月日を呼び出し、表示させたい
ご教授有難うございます!

試してみたところ思い描いていた通りの表示となり、動作も上手くいきました。
ご助言いただきましたこと、深く感謝申し上げます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,308名です
総投稿数は109,693件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.