年 わたしのサイトの月別アーカイブは、こちらのスケジュール表を作るを参考にカスタマイズしています。 年別アーカイブは個々の月別アーカ" /> 年別アーカイブを追加する - Movable Type 備忘録

 Movable Type 備忘録

 

 年別アーカイブを追加する

MovableType(ムーバブルタイプ)のアーカイブには個別エントリ、日別、週別と月別アーカイブがありますが、年別アーカイブなんてものはありません。

年単位のページなんて作っても、あまり意味がないからなんでしょうね。
そんな年別アーカイブですが、わたしは設置してみました。 自己満足のために作ったといってもいいかも、です。

まずはサンプルですね。
2008年

わたしのサイトの月別アーカイブは、こちらのスケジュール表を作るを参考にカスタマイズしています。 年別アーカイブは個々の月別アーカイブを、こちらの長くなったページを分割表示するを使ってページ分割(月別に分割)したものです。

年別アーカイブはArchiveLoadプラグインとArchiveYearプラグインを併用して作成します。

これらのプラグインはMovableType(ムーバブルタイプ) 3.3でも使用できました。

ArchiveLoadプラグインは、全エントリを参照できるようにするためのプラグインです。 ArchiveYearプラグインは、年別アーカイブ・ページを作るためのプラグインです。 これ以上のことは情報不足で分かりません。

▼ArchiveLoadプラグインの入手はこちらから▼
archiveload.pl
▼ArchiveYearプラグインの入手はこちらから▼
archiveyear.pl
上記プラグインはいずれも配布を終了しちゃっているので、わたしのサイトからお持ち帰りください。

プラグインをインストールします

まずは、いつものように各プラグインをインストールします。

MTPaginateプラグインを、こちらの長くなったページを分割表示する参考にインストールを済ませてください。

ArchiveLoad、ArchiveYearプラグインをインストールします。
上記URLから各プラグインをダウンロードして、サーバーにアップロードしてください。 アップロード先はいつものmt/plugins/ディレクトリの中です。

年別アーカイブ・テンプレートを作成します

次に年別アーカイブ用のテンプレートを新規作成します。

MovableType(ムーバブルタイプ)の管理画面からブログを選択してテンプレート一覧を表示します。 そして、画面上にある「アーカイブ」をクリックするとアーカイブ一覧が表示されます。

右上にある「テンプレートを新規作成」をクリックしてください。 設定内容は以下の通りです。

  • テンプレート名:
    年別アーカイブの名前になります。任意の名前で問題ありません。
  • このテンプレートにリンクするファイル:
    ここは未記入でいいです。
  • テンプレートの内容:
    年別アーカイブ・テンプレートを貼り付けます。 月別アーカイブ・テンプレートをベースにして、年別アーカイブ・テンプレートを作成するとカンタンにできます。 本文にあたるところを、以下のXHTMLと差し替えます。

以下はわたしのサイトで使っている、年別アーカイブの本文にあたるところを抜粋したXHTMLです。

<div id="content">
    <MTPaginate>

    <div class="content-navi">
        <dl>
        <MTArchiveYearPrevious><dt>Before One Year: <a href="<$MTBlogArchiveURL$><$MTArchiveDate format="%Y/"$>"><$MTArchiveDate format="%Y"$></a></dt></MTArchiveYearPrevious>
        <MTArchiveYearNext><dt>One Year Later: <a href="<$MTBlogArchiveURL$><$MTArchiveDate format="%Y/"$>"><$MTArchiveDate format="%Y"$></a></dt></MTArchiveYearNext>
        </dl>

        <MTPaginateIfMultiplePages>
            <dt style="text-align: center;">
            <MTPaginateIfPreviousPage_><a href="<$MTPaginatePreviousPageLink$>">&laquo; [Prev]</a></MTPaginateIfPreviousPage_>
            <$MTPaginateNavigator format="%d" separator="&nbsp;" format_all="All Archives" place_all="before">
            <MTPaginateIfNextPage_><a href="<$MTPaginateNextPageLink$>">[Next] &raquo;</a></MTPaginateIfNextPage_>
            </dt>
        </MTPaginateIfMultiplePages>
    </div>

    <div class="entry">
        <MTPaginateContent max_sections="1" section_start="&lt;div id=&quot;content&quot;&gt;">

        <MTArchiveYear order="ascend">
            <MTArchiveYearIfEntries>
            <MTArchiveLoad>

            <h2 class="archive-header"><$MTArchiveDate language='en' format='%B, %Y'$></h2>
            <table summary="<$MTArchiveDate language='en' format='%B, %Y'$>" cellspacing="0" cellpadding="2" class="calenar">
                <tr>
                    <th colspan="2">Date</th>
                    <th>Posted Entry</th>
                </tr>

                <MTCalendar month="this">
                    <MTCalendarIfBlank>
                    <MTElse>
                    <tr>
                        <td class="day"><$MTCalendarDate language="en" format="%e"$></td>
                        <td class="week"><$MTCalendarDate format="%a"$></td>

                        <td class="summary">
                            <MTCalendarIfEntries>
                                <ul>
                                <MTEntries sort_order="ascend">
                                    <li><h3><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></h3></li>
                                </MTEntries>
                                </ul>
                            </MTCalendarIfEntries>
                        </td>
                    </tr>
                    </MTElse>
                    </MTCalendarIfBlank>
                </MTCalendar>
            </table>

            <$MTPaginateSectionBreak$>

            </MTArchiveLoad>
            </MTArchiveYearIfEntries>
        </MTArchiveYear>

        </MTPaginateContent>
    </div><!-- entry -->

    </MTPaginate>
</div><!-- content -->

上記XHTMLを参考に、各自で用意した年別アーカイブ・テンプレートの本文をカスタマイズします。 一通り入力したら保存します。

月別アーカイブにマッピングします

各自で作成した、年別アーカイブを月別アーカイブと関連付けします。

MovableType(ムーバブルタイプ)の管理画面からブログを選択して、左横にある「設定」をクリックします。 そして、画面上にある「公開」をクリックすると、画面下の方にアーカイブ・マッピング一覧が表示されます。

「マッピングを新規作成」をクリックしてください。 設定内容は以下の通りです。

  • アーカイブの種類:
    ここでは月別を選択します。
  • テンプレート:
    先ほど作った年別アーカイブを選択します。

一通り選択したら、右横にある「追加」ボタンをクリックして年別アーカイブ追加すると、リスト中に年別アーカイブが追加されます。
年別アーカイブのドロップダウンリストから「カスタマイズする」を選択して、出力フォーマットを以下のように変更してください。

%y/%i

上記フォーマットは、たとえば、2006年の場合にはアーカイブディレクトリの中に"2006/index.php"というように出力されます。 出力フォーマットについては、こちらのアーカイブ・ファイル名定義を参考にしてください。

一通り変更が終わったら、画面下にある「変更を保存」ボタンクリックで保存して、月別アーカイブを再構築すると年別アーカイブのファイルが新規作成されます。

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

コメント用フィード