バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 年代ごとに表示するページを変えたいです。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hihi
投稿日時: 2012/11/30 17:17
対応状況: −−−
一人前
登録日: 2012/8/14
居住地:
投稿: 72
年代ごとに表示するページを変えたいです。
[EC-CUBE]2.12.1
[PHP]5.3.1
[データベース]MySQL 5.1.43
________________

会員情報の生年月日データから、今現在の年齢を計算して
10代なら10代のページを表示、20代なら20代のページを表示と
言うように年代ごとにページを変えたいと思っています。

流れとしては、会員登録完了ページからTOPページへ戻った時に年代ごとのページが表示するされるというかたちです。

どのようにしたら実現できますでしょうか?
ご教授下さい。
よろしくお願いします。


dimaggio
投稿日時: 2012/12/3 17:31
対応状況: −−−
一人前
登録日: 2011/3/30
居住地: Tokyo
投稿: 120
Re: 年代ごとに表示するページを変えたいです。
このプラグインがご希望の機能をブロック内のコンテンツとして提供しているようですが。

http://www.ec-cube.net/products/detail.php?product_id=381
hihi
投稿日時: 2012/12/3 19:33
対応状況: −−−
一人前
登録日: 2012/8/14
居住地:
投稿: 72
Re: 年代ごとに表示するページを変えたいです。
ありがとうございます。
ただ、携帯とスマホが未対応でしたので、
すごくいいプラグインだと思うのですが、
その関係で導入できません。
hihi
投稿日時: 2012/12/5 21:41
対応状況: −−−
一人前
登録日: 2012/8/14
居住地:
投稿: 72
Re: 年代ごとに表示するページを変えたいです。
$now = date('Ymd');
$birthday = "<!--{$smarty.session.customer.birth}-->";
print "age:".floor(($now-$birthday)/10000);


上記のやり方でやったのですが
うまく行きません。どうしてでしょうか?
ご教授下さい。
dimaggio
投稿日時: 2012/12/6 10:50
対応状況: −−−
一人前
登録日: 2011/3/30
居住地: Tokyo
投稿: 120
Re: 年代ごとに表示するページを変えたいです。
<!--{$smarty.session.customer.birth}--> の値はyyyy-mm-dd hh:mm:ss形式のデータぽいので、date('Ymd')と表記を合わせる必要がありそうですね。
年齢を取得するだけなら、
$now = date('Y');
にして、$smarty.session.customer.birth の方からyyyyだけを抜き出して差をとる方が楽かもしれません。
誕生日の前後で1歳の誤差が生じますが。


----------------
dimaggio
----------------------------
EC-CUBEのご相談、承ります。
http://ec-cube.bitmop.co.jp/

hihi
投稿日時: 2012/12/6 14:36
対応状況: −−−
一人前
登録日: 2012/8/14
居住地:
投稿: 72
Re: 年代ごとに表示するページを変えたいです。
ページを新規作成して下記のように書いたのですが

/**
* Page のアクション.
*
* @return void
*/
function action() {
$now = date('Ymd');
$birthday = "<!--{$smarty.session.customer.birth}-->";
print "age:".floor(($now-$birthday)/10000);
}

$birthday =



"<!--{$smarty.session.customer.birth}-->";

を直接入れることは出来ないので困っています。
会員の生年月日を取り出すのはどうしたらいいんでしょうか?
よろしくお願いします。


dimaggio
投稿日時: 2012/12/6 17:59
対応状況: −−−
一人前
登録日: 2011/3/30
居住地: Tokyo
投稿: 120
Re: 年代ごとに表示するページを変えたいです。
$birthday = $_SESSION['customer']['birth'];

とかどうですかね。


----------------
dimaggio
----------------------------
EC-CUBEのご相談、承ります。
http://ec-cube.bitmop.co.jp/

hihi
投稿日時: 2012/12/6 19:49
対応状況: −−−
一人前
登録日: 2012/8/14
居住地:
投稿: 72
Re: 年代ごとに表示するページを変えたいです。
function action() {
$now = date('Ymd');
$birthday = $_SESSION['customer']['birth'];
print "age:".floor(($now-$birthday)/10000);
}

上記のように設置したのですが、
うまく行きません。
会員のデータが、1990-01-01なので
age:22にならないといけないのですが、
age:2011になってしまいます。

他になにが必要なのでしょうか?
よろしくお願いします。
dimaggio
投稿日時: 2012/12/6 21:06
対応状況: −−−
一人前
登録日: 2011/3/30
居住地: Tokyo
投稿: 120
Re: 年代ごとに表示するページを変えたいです。
$now = date('Y-m-d');
print "age:".($now-$birthday);

とかどうですかね。


----------------
dimaggio
----------------------------
EC-CUBEのご相談、承ります。
http://ec-cube.bitmop.co.jp/

hihi
投稿日時: 2012/12/7 13:26
対応状況: −−−
一人前
登録日: 2012/8/14
居住地:
投稿: 72
Re: 年代ごとに表示するページを変えたいです。
dimaggioさんありがとうございます。
無事に出力できました。
出力したデータ(age:22)をテンプレート側で使いたい場合は
どうしたらよいのでしょうか?
以下のような感じで使いたいと思っています。
ご教授よろしくお願いします。

(例)
<!--{if $smarty.session.customer.age >= 18}-->
18歳以上
<!--{else}-->
18歳以下です。
<!--{/if}-->
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.