バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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
居住地:
投稿: 1918
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
居住地:
投稿: 1918
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ペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は54,400名です
総投稿数は94,215件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
2015
4
468
1918
5
yuh
1610
6
umebius
1414
7
red
1376
8
h_tanaka
940
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
781
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 437


ネットショップの壺

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

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