バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

バグ報告 > その他 > LC_Page_FrontParts_Bloc_Calendar.phpのlfGetCalendarメソッド

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
aquarn
投稿日時: 2009/12/24 17:37
対応状況: −−−
新米
登録日: 2009/2/24
居住地:
投稿: 4
LC_Page_FrontParts_Bloc_Calendar.phpのlfGetCalendarメソッド
表題のメソッドですが、3か月以上のカレンダーを取得しようとした場合、正常に取得できません

2009年12月に3か月取得すると

2009年12月
2010年1月
2011年2月

となってしまいます。

LC_Page_FrontParts_Bloc_Calendar.phpの110行目付近

$year = date("Y",strtotime("+".$j."month"));
$month = date("m",strtotime("+".$j."month"));
//$year = date('Y');
//$month = date('n') + $j;
//if ($month > 12) {
// $month = $month%12;
// $year = $year + $month%12;
//}

とすることで正常なカレンダーが取得できるかと思います。
seasoft
投稿日時: 2009/12/24 19:29
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: LC_Page_FrontParts_Bloc_Calendar.phpのlfGetCalendarメソッド
元の実装者さんは

$year = $year + intval($month / 12);  // 動作未確認

などとやりたかったのでしょうね。


私も aquarn 様が提案されているような、やりたいことをストレートに表現したロジックは好きですね。

ただし、strtotime って歴史的にはバグバグで・・・
過去に何度か痛い目にあった経験から、ちょっと拒絶反応も。

詳しい方、aquarn 様提供のコードレビューを是非とも。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,980名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
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.