Copyright(コピーライト)の年度表記を自動で更新するスニペットを作る
Posted: 2010年5月08日(土) 22:09
Copyright(コピーライト)の年度(年号?)表記を毎年自動的に更新したい。こういう処理はCMSが得意とするところです。
たとえばWordPressやJoomlaだと、テンプレート中に直接このように記述します。簡単です。MODxはテンプレート中にphp文を書くことができないので、スニペットを利用する必要があります。どこでそんなスニペットが配布されているのか探すのも大変なので、作ってみます。
スニペット新規作成画面を開き、上記のように書いて「今年」などの名前をつけてスニペットを新規作成します。phpのdate関数を用いています。
テンプレート中のフッタあたりに上記のように記述し、更新します。以上です。
テンプレート中にphp文を直接記述できるWordPress等と比べるとステップがひとつ増えますが、動的処理をこのような形で必ずカプセル化することにより、サイト全体でのプログラムの管理がしやすくなります。
MODxの場合、キャッシュの制御についてはプログラム側で配慮する必要がないというメリットもあります。年明けの瞬間に必ず更新したい場合はこのように書きます。そこまでタイトに考える必要がなく、少しでも静的出力にこだわりたい場合は、年が明けた最初の出勤日にサイト全体のキャッシュをクリアすれば、最初に示した書き方のままでワンクリックで更新完了です。どちらでもよいのですが、プログラマーではなくデザイン担当者の好みだけで決められるのがメリットと言えます。
少し脱線しましたが、スニペットの作り方の基本について説明すると、
※echoやprintもいちおう使えますがreturn推奨です
MODxでは多数の拡張機能が配布されていますが、簡単なものなら自作をおすすめします。phpの基本を理解すれば、多数の拡張機能の中から目的のスニペットを探し回るより、自作するほうがずっと近道です。
また、MODxはphpとの親和性が高いCMSでもあるので、そういう意味でもスニペットの自作に慣れることをおすすめします。phpの基礎スキルだけで、多彩なコンテンツコントロールが可能です。
コード: 全て選択
Copyright <?php echo date('Y'); ?> MODx CMS JAPAN All rights reserved.
コード: 全て選択
<?php
return date('Y');
?>
コード: 全て選択
Copyright [[今年]] MODx CMS JAPAN All rights reserved.
テンプレート中にphp文を直接記述できるWordPress等と比べるとステップがひとつ増えますが、動的処理をこのような形で必ずカプセル化することにより、サイト全体でのプログラムの管理がしやすくなります。
MODxの場合、キャッシュの制御についてはプログラム側で配慮する必要がないというメリットもあります。年明けの瞬間に必ず更新したい場合は
コード: 全て選択
Copyright [!今年!] MODx CMS JAPAN All rights reserved.
少し脱線しましたが、スニペットの作り方の基本について説明すると、
- スニペット名は日本語や半角スペースなどを含んでいても大丈夫
- 必ず「<?php」と「?>」で囲む必要があるが、もし書き忘れても保存時にシステムが自動的に補完してくれる
- 出力させたい値は必ず「return」で返す。returnでどういう値を返すかが、そのスニペットの仕事になる
※echoやprintもいちおう使えますがreturn推奨です
MODxでは多数の拡張機能が配布されていますが、簡単なものなら自作をおすすめします。phpの基本を理解すれば、多数の拡張機能の中から目的のスニペットを探し回るより、自作するほうがずっと近道です。
また、MODxはphpとの親和性が高いCMSでもあるので、そういう意味でもスニペットの自作に慣れることをおすすめします。phpの基礎スキルだけで、多彩なコンテンツコントロールが可能です。