質問 > フロント機能 > マイページのトップに登録された会員情報を表示する |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
horai |
投稿日時: 2020/6/3 10:51
対応状況: −−−
|
半人前 登録日: 2013/3/20 居住地: 投稿: 15 |
マイページのトップに登録された会員情報を表示する ver.2.13.5 を使用しています。
/mypage/index.phpに 現在登録されている会員情報を掲載したいと思っています。 (管理画面の/admin/customer/edit.phpに表示される 現時点の会員登録情報ですね) 項目としては ・お名前 ・フリガナ ・郵便番号 ・住所 ・電話番号 ・メールアドレス と会員登録時の情報の一部を掲載したいと思っています。 ただ、 <!--{$tpl_name1|h}--> <!--{$tpl_name2|h}--> や <!--{assign var=key1 value="`$prefix`name01"}--> <!--{assign var=key2 value="`$prefix`name02"}--> <!--{$arrForm[$key1].value|h}--> <!--{$arrForm[$key2].value|h}--> など、いろいろ調べて試したりしたのですが、 (<!--{if $tpl_login}-->をつけてみたり、formwの記述を持ってきたり・・・) 表示ができません。 (ヘッダーのログイン情報、サイドのログイン情報などはヘッダーやサイドしか動かないとは理解していますが) こちら、マイページトップに表示する方法はあるのでしょうか。 |
468 |
投稿日時: 2020/6/4 7:27
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: マイページのトップに登録された会員情報を表示する /data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Login.phpの72行目付近に以下のような記述がありますが
これがテンプレートファイルの <!--{$tpl_name1|h}--> <!--{$tpl_name2|h}--> に値を渡している処理です。 (ログインブロック内のみ有効) この記述を参考に /data/class/pages/mypage/LC_Page_Mypage.phpの81行目付近に 会員情報をテンプレートに渡す記述を追記すれば テンプレート側で会員情報を表示する事が出来ると思います。
|
horai |
投稿日時: 2020/6/4 11:19
対応状況: −−−
|
半人前 登録日: 2013/3/20 居住地: 投稿: 15 |
Re: マイページのトップに登録された会員情報を表示する >468様
コメントありがとうございます。 頂いたコメントをもとに /data/class/pages/mypage/LC_Page_Mypage.php の81行目にある $customer_id = $objCustomer->getValue('customer_id'); の下に $tpl_name1 = $objCustomer->getValue('name01'); $tpl_name2 = $objCustomer->getValue('name02'); を書き加えて /template/default/mypage/index.php に <!--{$tpl_name1|h}--> <!--{$tpl_name2|h}--> を書いてみたのですが空白で、 試しに<!--{$customer_id|h}-->と書いても出ない。 いろいろ調べて試したのですが出ないので 上記の内容から推測して、$tpl_name1とかに格納したデーターを単純に引っ張ることはできなくて 一旦どこかのファイルに受け渡したうえで、とか、いったん別の形に格納させて引っ張り出す等の作業が必要なのだなと思い、 ちょっと勉強してみようとと思います。 コメントありがとうござい↓。 |
468 |
投稿日時: 2020/6/4 15:18
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: マイページのトップに登録された会員情報を表示する phpからテンプレートに値を渡す場合、
$this->xxxxとメンバ変数を定義すると自動的にxxxxの変数でテンプレートから参照できるようになると思います。 $this->の部分が重要ですので省略せずに記述してみてください。
|
horai |
投稿日時: 2020/6/5 9:48
対応状況: −−−
|
半人前 登録日: 2013/3/20 居住地: 投稿: 15 |
Re: マイページのトップに登録された会員情報を表示する >468さん
アドバイスありがとうございます。 /data/class/pages/mypage/LC_Page_Mypage.php の $customer_id = $objCustomer->getValue('customer_id'); の下に テストも含め $this->tpl_user_point00 = $objCustomer->getValue('point'); $this->tpl_name11 = $objCustomer->getValue('name01'); $this->tpl_name22 = $objCustomer->getValue('name02'); $this->tpl_customer_id1 = $objCustomer->getValue('customer_id'); と加えてみました。 (pointとcostomer_idはテストで加えたもので、どのように表示されるのか入れたものです) どこかで使ってたら悪いので、 「tpl_」の名前に数字をつけて別物として処理させるようにしています。 そして、 /data/Smarty/templates/default/mypage/index.php に <!--{$tpl_user_point00|h}--> <!--{$tpl_name11|h}--> <!--{$tpl_name22|h}--> <!--{$tpl_customer_id1|h}--> を加えたのですが、どれもやはり表示されず。 468さんの内容からすると、上記のような記述だけで取り出せるような感じだと思うのですが・・・ もうすこしいろいろ試してみようと思います。 |
468 |
投稿日時: 2020/6/5 15:41
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: マイページのトップに登録された会員情報を表示する 念の為、私の環境(デフォルト)にて
data/class/pages/mypage/LC_Page_Mypage.php 82行目に
/data/Smarty/templates/default/mypage/index.tpl 47行目に
を記述してみましたが、 購入履歴のテーブルの上にログインユーザーの氏名1が表示されました。 どうしてセットした値が表示されないのか分かりませんが PHP側の記述を以下のような単純な文字列にしてテンプレート側で表示されるか確認されてみては如何でしょうか? $this->tpl_name11 = '氏名1aaaaaaaaaaaaaaaaaaaaaaaaaa'; 因みにデザインテンプレートをdefaultから変更されていて、別のテンプレートファイルが利用されているという事は無いでしょうか?
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |