質問 > フロント機能 > カレンダー機能を利用した【本日の予定】表示について |
フロント機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
dkazuto |
投稿日時: 2013/1/18 1:26
対応状況: −−−
|
一人前 ![]() ![]() 登録日: 2012/5/10 居住地: 投稿: 95 |
Re: カレンダー機能を利用した【本日の予定】表示について scorpionさん
こんばんは。 これは、ECCUBEのカレンダーの仕様によるものと考えられます。 カレンダーは内部データ上は5週×7日間の月テーブルを架空の数字で敷き詰めています。 例えば、添付頂いた2012年12月のカレンダーをECCUBEのデータの準えて表現すると、次のようになります。 2012年12月 |日|月|火|水|木|金|土| |26|27|28|29|30|31| 1| | 2| 3| 4| 5| 6| 7| 8| |… | |… | |23|24|25|26|27|28|29| |30|31| 1| 2| 3| 4| 5| というように、本来の12月1日の前と12月31日の後にループして空欄を埋めるかのように数字が敷き詰められています。 この穴埋め部分を架空データと呼ぶことにします。 scorpionさんが今フロントのページで見られている日付が12月3日と仮定すると、 12月3日が架空データを含め2回出てくるため、作られたプログラム上でも、 2回「店主の予定有り」の表示が出てしまっていることになります。 そこで、$arrCal[cnt].in_monthの値を利用して架空データかどうかを判断します。 in_monthがtrueだと日付は架空でないデータ、falseだと日付は架空データとなります。 以下のように条件文を変更してみてください。 <!--{if $arrCal[cnt].in_month}--> <!--{if $arrCal[cnt].today}--> <!--{if $arrCal[cnt].holiday}--><p id="out">有 り</p> <p id="sche"><!--{$arrHoliday.title[$month][$day]}--></p> <!--{else}--><p id="in">無 し</p> <p id="sche">在店:御来店の際は要連絡</p> <!--{/if}--> <!--{/if}--> <!--{/if}--> 以上、ご参考になれば幸いです。 |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
![]() |
scorpion | 2012/11/29 14:07 |
![]() |
seasoft | 2012/12/2 16:17 |
![]() |
scorpion | 2012/12/6 2:43 |
» ![]() |
dkazuto | 2013/1/18 1:26 |
![]() |
scorpion | 2013/1/30 1:03 |
![]() |
scorpion | 2013/1/30 1:34 |
![](images/pixel.gif)