カレンダーの日付リンクのジャンプ先をエントリー・アーカイブに変更する
当サイトで公開している 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
を利用する方法もありますが、実験してみたところ正常に動作しないようなので、ここでは対象外としました。
- Movable Typeのカレンダーに曜日を表示する方法
- Movable Typeのカレンダーに複数カテゴリのリンクを表示する方法
- Movable Typeでダイナミックカレンダーが表示されない不具合の対処
- Ajax ハイブリッド月送りカレンダー
- Ajax ダイナミック月送りカレンダー
- 複数ブログの情報をひとつのカレンダーにまとめて表示する
- Ajax 月送りカレンダー(jQuery・MT4版)
- 「Ajax 月送りカレンダー」の表示月をブログ記事の投稿月や月別アーカイブに連動させる
- 「Ajax 月送りカレンダー」で未来月のブログ記事を表示しない
- カテゴリー別 Ajax 月送りカレンダー(MT4版)
- Ajax 日めくりカレンダー(MT4版)
- Ajax 月送りカレンダー(MT4版)
- Ajax 月送りカレンダー(縦型)
- Ajax 月送りカレンダー(横型)
- Ajax 月送りカレンダー
はじめまして、こんにちは。
小粋空間さんのseesaaブログテンプレートを利用させていただいてます。
先日この、カレンダーの日付リンクをエントリー・アーカイブに変更するという記事を拝見しまして、seesaaでもつかうことはできないものかと思い、書き込ませていただきました。
自分はさくらのブログを使用しているのですが、日付アーカイブは一度作られると、次に記事を修正したり、削除したりしてもすぐには反映されないようで、すべて再構築しても変更したスタイルシートが過去記事では変更前のままだったりします。
遅くとも数日後にはちゃんと修正されるようなのですが…
seesaaのほうでもリンクを変更するのが可能でしたら、変更の仕方を教えていただけませんでしょうか。
どうぞよろしくお願いします。
>t-kさん
こんばんは。
ご連絡遅くなり申し訳ありません。
ご質問の件はSeesaaで用意しているテンプレートタグでは実現が難しいようです。
もしいいアイデアがみつかったら別途エントリー致します。
それではよろしくお願い致します。
yujiroさんこんばんは、t-kです。
お忙しいところご回答下さりありがとうございました。
seesaaテンプレートでは難しいとのこと、残念ですが仕方がないですね。
お手を煩わせてしまいすみませんでした。
またお邪魔いたします。
これからも応援しております!