URLで指定されている年月をトピックパスに表示する
よくある企業サイトの「お知らせ」ページでは、カテゴリ(もしくは小ブログ)として「お知らせ」を作成して、その中にエントリーを登録していきます。
この方法ですと、トピックパス(パンくずリスト)は、下記のようになります。
例
ブログ名>お知らせ(カテゴリ)>エントリータイトル
エントリー記事が多いサイトですと、エントリーを年単位、年月単位で分割して展開したいことがあります。
例
ブログ名>お知らせ(カテゴリ)>2013年>エントリータイトル
ver1.7.0以前でこれを実現しようとしますと、子カテゴリとして2013年を作成する必要がありました。
子カテゴリを作成しない方法
次のバージョンver1.7.1(仮)から、URLに使われるURLコンテキストから年、月、日をグローバル変数として扱えるようになります。
追加されたローバル変数とともにテンプレートエンジン IFブロックを使うことで、年月をトピックパスに表示させます。
ポイントは、年月の値が無い場合に「2013年」の「年」の字や、「月」の字を表示させないようにしています。
%{DATE_YEAR}:年
%{DATE_MONTH}:月
%{DATE_DATE}:日
<p id="topicpath"><!-- BEGIN_MODULE Topicpath id="topicPath" --> <!-- BEGIN blog:loop --> <!-- BEGIN glue --> > <!-- END glue --> <a href="{url}">{name}</a> <!-- END blog:loop --> <!-- BEGIN category:loop --> <!-- BEGIN glue --> > <!-- END glue --> <a href="{url}">{name}</a> <!-- END category:loop --> <!-- BEGIN_IF [%{DATE_YEAR}/nem/] --> <!-- BEGIN_IF [%{DATE_MONTH}/nem/] --> > <a href="%{CATEGORY_URL}%{DATE_YEAR}/%{DATE_MONTH}/">%{DATE_YEAR}年%{DATE_MONTH}月</a> <!-- ELSE --> > <a href="%{CATEGORY_URL}%{DATE_YEAR}/">%{DATE_YEAR}年</a> <!-- END_IF --> <!-- END_IF --> <!-- BEGIN entry --> <!-- BEGIN glue --> > <!-- END glue --> <a href="{url}">{title}</a> <!-- END entry --> <!-- END_MODULE Topicpath --></p>