カレンダーの日付リンクのジャンプ先をエントリー・アーカイブに変更する

カレンダーの日付リンクのジャンプ先をエントリー・アーカイブに変更する

Posted at February 10,2007 1:12 AM
Tag:[Calendar, Customize, MovableType]

当サイトで公開している Movale Type のカレンダーでは、日付のアンカーから日別アーカイブにジャンプするようにしていますが、これをエントリー・アーカイブにジャンプするように変更する方法を紹介します。

サンプルのMTタグは <MTCalendar>~</MTCalendar> のみ抜粋しています。

1.変更前のカレンダータグ部分

日付アーカイブにジャンプする仕組みは、MTEntryLink タグの archive_type 属性に "Daily" を指定しているからです(赤色部分)。

<MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td><MTCalendarIfBlank><MTElse><MTCalendarIfToday><span class="today"><MTElse><span class="calendar"></MTElse></MTCalendarIfToday></MTElse></MTCalendarIfBlank>
<MTCalendarIfEntries>
<MTEntries lastn="1"><a href="<$MTEntryLink archive_type="Daily"$>"><$MTCalendarDay$></a></MTEntries>
</MTCalendarIfEntries><MTCalendarIfNoEntries><$MTCalendarDay$></MTCalendarIfNoEntries><MTCalendarIfBlank> 
<MTElse></span></MTElse></MTCalendarIfBlank></td><MTCalendarWeekFooter></tr></MTCalendarWeekFooter></MTCalendar>

2.変更方法1

MTEntryLink タグの archive_type 属性を "Daily" から "Individual" に変更します(青色部分)。

<MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td><MTCalendarIfBlank><MTElse><MTCalendarIfToday><span class="today"><MTElse><span class="calendar"></MTElse></MTCalendarIfToday></MTElse></MTCalendarIfBlank>
<MTCalendarIfEntries>
<MTEntries lastn="1"><a href="<$MTEntryLink archive_type="Individual"$>"><$MTCalendarDay$></a></MTEntries>
</MTCalendarIfEntries><MTCalendarIfNoEntries><$MTCalendarDay$></MTCalendarIfNoEntries><MTCalendarIfBlank> 
<MTElse></span></MTElse></MTCalendarIfBlank></td><MTCalendarWeekFooter></tr></MTCalendarWeekFooter></MTCalendar>

3.変更方法2

もうひとつは MTEntryLink を 属性なしに変更する方法です。

<MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td><MTCalendarIfBlank><MTElse><MTCalendarIfToday><span class="today"><MTElse><span class="calendar"></MTElse></MTCalendarIfToday></MTElse></MTCalendarIfBlank>
<MTCalendarIfEntries>
<MTEntries lastn="1"><a href="<$MTEntryLink$>"><$MTCalendarDay$></a></MTEntries>
</MTCalendarIfEntries><MTCalendarIfNoEntries><$MTCalendarDay$></MTCalendarIfNoEntries><MTCalendarIfBlank> 
<MTElse></span></MTElse></MTCalendarIfBlank></td><MTCalendarWeekFooter></tr></MTCalendarWeekFooter></MTCalendar>

なお、いずれの場合も、カレンダー用テンプレートタグの先頭と末尾に設定している

<MTIfArchiveTypeEnabled archive_type="Daily">
    :
</MTIfArchiveTypeEnabled>

の2行は削除してください。
これは日別アーカイブの設定がされていない場合、その中に記述されたタグの処理を行わない(つまりカレンダーの生成を行わない)ようにするための条件タグです。

エントリー・アーカイブのリンクには MTEntryPermalink を利用する方法もありますが、実験してみたところ正常に動作しないようなので、ここでは対象外としました。

関連記事
zenback
人気エントリー
トラックバックURL


コメント

はじめまして、こんにちは。
小粋空間さんのseesaaブログテンプレートを利用させていただいてます。
先日この、カレンダーの日付リンクをエントリー・アーカイブに変更するという記事を拝見しまして、seesaaでもつかうことはできないものかと思い、書き込ませていただきました。

自分はさくらのブログを使用しているのですが、日付アーカイブは一度作られると、次に記事を修正したり、削除したりしてもすぐには反映されないようで、すべて再構築しても変更したスタイルシートが過去記事では変更前のままだったりします。
遅くとも数日後にはちゃんと修正されるようなのですが…

seesaaのほうでもリンクを変更するのが可能でしたら、変更の仕方を教えていただけませんでしょうか。
どうぞよろしくお願いします。

[1] Posted by t-k : January 13, 2008 2:13 PM

>t-kさん
こんばんは。
ご連絡遅くなり申し訳ありません。
ご質問の件はSeesaaで用意しているテンプレートタグでは実現が難しいようです。
もしいいアイデアがみつかったら別途エントリー致します。
それではよろしくお願い致します。

[2] Posted by yujiro logo : January 24, 2008 12:51 AM

yujiroさんこんばんは、t-kです。
お忙しいところご回答下さりありがとうございました。
seesaaテンプレートでは難しいとのこと、残念ですが仕方がないですね。
お手を煩わせてしまいすみませんでした。
またお邪魔いたします。
これからも応援しております!

[3] Posted by t-k : January 27, 2008 12:13 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)