EC-CUBEのカスタマイズ、ネットショップ制作メモ

主にEC-CUBEを利用したネットショップの制作、カスタマイズや独自機能の開発について

EC-CUBEのフッターのコピーライトを自動更新にする。

EC-CUBEのフッター
先日、EC-CUBEリポジトリにコミットした物です。
EC-CUBEのフッターにはコピーライトの表記がありますが、そのコピーライト表記の年がベタ書きになっています。

<!--▼FOTTER-->
<div id="pagetop"><a href="#top"><img src="<!--{$TPL_DIR}-->img/common/pagetop.gif" width="100" height="10" alt="このページのTOPへ" /></a></div>
<div id="fotter">Copyright(C)2000-2010 EC-CUBE All rights reserved.</div>
<!--▲FOTTER-->

これだと年が明ける毎にフッターを修正しないといけないので、クロスキューブでEC-CUBEを使ってECサイトを構築する際は、いつも自動で表示が切り替わる様にしています。
変更するファイルは、/data/Smarty/templates/[テンプレート名]/footer.phpと/data/Smarty/templates/[テンプレート名]/mobile/footer.phpです。
以下の様に修正してください。

<!--▼FOOTER-->
<div id="pagetop" style="clear: both;"><a href="#top"><img src="<!--{$TPL_DIR}-->img/common/pagetop.gif" width="100" height="10" alt="このページのTOPへ" /></a></div>
<div id="fotter">Copyright&copy;
    <!--{if $smarty.const.RELEASE_YEAR !=  $smarty.now|date_format:"%Y"}-->
    <!--{$smarty.const.RELEASE_YEAR}-->-
    <!--{/if}-->
    <!--{$smarty.now|date_format:"%Y"}--> <!--{$arrSiteInfo.shop_name_eng|escape}--> All rights reserved.</div>
<!--▲FOOTER-->

この

<!--{$smarty.now|date_format:"%Y"}-->

がミソです。
$smarty.now は、PHP関数で言う所のtime()と同じで現在時間を返します。
|で、data_format関数にその値を渡して"%Y"で「YYYY」形式で出力しています。
上の例ではEC-CUBEのパラメータ設定の「稼働開始年」の値を見て、現在の年と同じじゃなかったら「2008-2010」の様に期間で表示する様になっていますが、イチイチそんな計算する必要が無い場合は

<!--▼FOOTER-->
<div id="pagetop" style="clear: both;"><a href="#top"><img src="<!--{$TPL_DIR}-->img/common/pagetop.gif" width="100" height="10" alt="このページのTOPへ" /></a></div>
<div id="fotter">Copyright&copy;<!--{$smarty.now|date_format:"%Y"}--> <!--{$arrSiteInfo.shop_name_eng|escape}--> All rights reserved.</div>
<!--▲FOOTER-->

でも良いと思います。

次はEC-CUBEの人間用サイトマップページの追加

今はEC-CUBEに人間用のサイトマップページを追加する作業をやっています。
EC-CUBEカスタマイズデモサイトにも入れてありますが、今の状態ではページにアクセスする度にデータベースを検索してしまっている為、非常に無駄が多くなってしまっています。なのでキャッシュみたいな機能を追加しているので、なかなか時間かかってます。
また、サイトマップというよりconcerte5のオートナビブロックの様な汎用的なナビゲーションブロックにするつもりでもあるので、余計かかってます。
近日中にコミットするので、その際はチェックしてみてください。