MappingBasedArchive - 出力パスを基準にアーカイブするプラグイン

  • 投稿日:
  • by

Movable Type に「パス別」というマッピングのタイプを追加する、MappingBasedArchive というプラグインを公開しました。ざっくりいうと「カスタムフィールドの値ごとにアーカイブを作ることができる」ようになるプラグインです。

MappingBasedArchive

screenshot-ja-shadow.png

できること

  • 「出力されるパス」を基準にして、記事をまとめてアーカイブすることができます。
  • カスタムフィールドの設定から簡単にパスを設定することができます。
    • 特に以下のタイプのカスタムフィールドが登録されていると、選択肢から選ぶだけで利用することができます。
      • ドロップダウン
      • ラジオボタン
  • AnotherCustomFields にも対応しており、カスタムフィールドと同様「ドロップダウン」と「ラジオボタン」のフィールドがある場合、選択肢に表示されます。
  • カスタムフィールドのそのままの値を使うだけでなく、例えば数値のフィールドであれば範囲で区切ってアーカイブにすることもできます。
  • 任意の順番でアーカイブを並べ替えることができます。
  • アーカイブに名前を付けることができます。

デモ

http://screencast.com/t/BTpd3ofH3P

インストール

  1. GitHubからzipファイルをダウンロードしてください。zipファイル
  2. ダウンロードしたファイルを展開してください。
  3. MTのpluginsディレクトリにアップロードしてください。

インストール後のディレクトリの配置は以下のようになります。

$MT_HOME/
    plugins/
        MappingBasedArchive/

基本的な使いかた

  1. 「ドロップダウン」タイプのカスタムフィールドを作成します。Create Custom Field
  2. 「パス別」のアーカイブマッピングを作成します。 Create Archive Mapping
  3. 「パス」を選択します。(デフォルトで選択されているので、そのままでも大丈夫です。)Choose Output Path
  4. 鉛筆のアイコンをクリックして、詳細情報を編集することもできます。アーカイブファイルを出力するだけであれば編集する必要はありませんが、<mt:ArchiveList> を利用する場合にはここでマッピングに「名前」を付けておく必要があります。Edit Template Map
  5. テンプレートを保存して、再構築してください。
  6. ナビゲーションにアーカイブファイルの一覧を入れる場合には、以下のように書くことができます。
<mt:ArchiveList name="EntryDataTypeMapping">
<a href="<mt:ArchiveLink />"><mt:ArchiveTitle /></a>
</mt:ArchiveList>

応用的な使いかた

範囲でまとめる

  1. 「テキスト」タイプのカスタムフィールドを作成してください。
    • このフィールドには数値のみを入れるものとします。
  2. 「パス別」のマッピングを作成してください。
  3. 「パス」を次のように設定してください。<mt:NumberField regex_replace="/\d\d$/","00"/>/%i

以下のようなアーカイブファイルが出力されます。

  • 100/index.html (100〜199の値)
  • 200/index.html (200〜299の値)
  • ...

親カテゴリでまとめる

  1. 「パス別」のマッピングを作成してください。
  2. 「パス」を次のように設定してください。 <mt:EntryCategories><mt:ParentCategory><mt:CategoryBasename /></mt:ParentCategory></mt:EntryCategories>/%i

サポートしているアーカイブ系のタグ

  • mt:ArchiveList
  • mt:ArchiveTitle
  • mt:ArchiveCount
  • mt:ArchiveNext
  • mt:ArchivePrevious
  • mt:ArchiveLink

よくある(ありそうな)質問と答え

  • 1つのマッピングから複数のアーカイブファイルを書き出すことはできますか?
    • できません。

サポートしている出力タイプ

  • スタティックパブリッシング
  • ダイナミックパブリッシング

動作環境

  • MT6