ArchiveDateFooter プラグイン
Movable Type のプラグインを久しぶりに作成しました。このプラグインを利用することで、月別アーカイブを年別にリスト表示することができます。スクリーンショットはデフォルトテンプレートに適用した例です。 ツリー表示にする場合は、本カスタマイズを実施した後、「月別アーカイブリストの年毎の折りたたみ for Movable Type」を行ってください。 |
1.機能
このプラグインは、MTArchiveList コンテナ・タグ(archive_type 属性が Monthly/Weekly)の中で、次に表示されるアーカイブと比較し、異なる年あるいは月であったときだけ内容を表示するコンテナ・タグを提供します。
このコンテナ・タグは archive_type 属性が Monthly および Weekly の場合のみ有効です。
2.作成の経緯
既存の ArchiveDateHeader プラグインを用いて、
<MTArchiveList archive_type="Monthly">
<MTArchiveDateHeader>
<p><MTArchiveDate format="%Y"></p>
</MTArchiveDateHeader>
<a href="<$MTArchiveLink$>"><MTArchiveDate format="%B"></a>
</MTArchiveList>
というリストを設置することで、例えば下記のような月別アーカイブリストを作成できます。
2006
6 5 4 3 2 1
2005
12 11 10 ...
しかしながら、このプラグインがサポートしているのは MTArchiveHeader タグのみのため、例えば月別アーカイブの場合、最後の表示月(上記の場合であれば2006年1月)の後に任意のタグを与えることができません。
したがって ArchiveDateHeader だけではリスト形式(ul -li)のマークアップを行うことができません。
ネットを検索すると、Movable Type Community Forum:ArchiveDateFooter? に、MTPerlScriptを使ってフッタを生成する記事がありましたが、勉強もかねて今回自作してみました。
3.ダウンロード
下記のリンクより ArchiveDateFooter プラグインアーカイブをダウンロードしてください。
2006.06.19 初版 2007.01.20 MTArchiveList の sort_order="ascend" に対応 2007.03.19 週別アーカイブでの不具合修正(「ダイナミック・パブリッシング対応 ArchiveDateFooter プラグイン」での指摘を反映)
4.インストール
ダウンロードしたアーカイブを解凍し、ArchiveDateFooter を plugins ディレクトリにアップロードしてください。下記の構成になればOKです。
3.x の場合
- plugins/ArchiveDateFooter/ArchiveDateFooter.pl
- plugins/ArchiveDateFooter/tmpl/config.tmpl
4.x の場合
- plugins/ArchiveDateFooter.pl
メイン・メニュー > システム・メニュー > プラグイン で ArchiveDateFooter Plugin が表示されていればOKです。特に設定する項目はありません。
MT3.x 版でプラグインを使用したくない場合は、各ブログの管理メニューより、「設定」→「プラグイン」→「ArchiveDateFooter Plugin」の右側にある「設定を表示」をクリックして「Configuration」のチェックを外し、「変更を保存」をクリックしてください。
MT4.x 版では「設定を表示」のリンクはありませんので、プラグインを利用しない場合は、システムメニューのプラグイン一覧で ArchiveDateFooter 自体を無効にしてください。
5.使用例
冒頭のスクリーンショットのようなリスト形式の月別アーカイブリスト(年月表示)は、下記のように設定します(サンプルリストはエントリー件数も表示するようにしています)。<MTArchiveList archive_type="Monthly">
<MTArchiveDateHeader><$MTArchiveDate format="%Y年"$><ul></MTArchiveDateHeader>
<li><a href="<$MTArchiveLink$>"><$MTArchiveDate format="%B月"$></a> [<$MTArchiveCount$>]</li>
<MTArchiveDateFooter></ul></MTArchiveDateFooter>
</MTArchiveList>
月を英語表記にする場合は language属性を追加します。
<MTArchiveList archive_type="Monthly">
<MTArchiveDateHeader><$MTArchiveDate format="%Y"$><ul></MTArchiveDateHeader>
<li><a href="<$MTArchiveLink$>"><$MTArchiveDate format="%B" language="en"$></a> [<$MTArchiveCount$>]</li>
<MTArchiveDateFooter></ul></MTArchiveDateFooter>
</MTArchiveList>
ラップするコンテナタグ MTArchiveList タグで sort_order 属性に acend を設定した場合には MTArchiveDateFooter タグにも同じ属性・属性値を設定してください。
<MTArchiveList archive_type="Monthly" sort_order="ascend">
<MTArchiveDateHeader><$MTArchiveDate format="%Y年"$><ul></MTArchiveDateHeader>
<li><a href="<$MTArchiveLink$>"><$MTArchiveDate format="%B月"$></a> [<$MTArchiveCount$>]</li>
<MTArchiveDateFooter sort_order="ascend"></ul></MTArchiveDateFooter>
</MTArchiveList>
2007.01.20 追記
MTArchiveList の sort_order 属性で ascend が設定された場合に対応しました。
2007.03.19 追記
週別アーカイブでの不具合を修正しました。
2007.07.08 追記
MT4 対応をリリースしました。
2008.07.28 追記
MT4.2 対応をリリースしました。
2008.09.12 追記
MT4.x のアップロード時の構成を追加しました。
- Movable Typeでコンテンツタイプのフィールド名を出力する「ContentFieldNameプラグイン」
- Movable Typeで指定したテンプレートのアーカイブパスを取得できる「EntryLinkByTemplateNameプラグイン」
- Movable Type 5でお気に入りリストが作れる「Linklistプラグイン」バージョンアップ
- Objectプラグイン v0.10(ダイナミックパブリッシング対応)
- Objectプラグイン v0.03
- Object プラグイン v0.02
- CommentCustomFieldプラグイン v0.10
- EntryCategoryID プラグイン v0.10
- CommentCustomField プラグイン v0.04(ラジオボタン・チェックボックス・プルダウンメニュー対応)
- CommentCustomFieldプラグイン v0.02(画像のアップロード対応)
- RecommendedEntry プラグイン
- Split プラグイン
- ArchiveDateFooter プラグイン(MT4.2 対応)
- FolderLink プラグイン
- BlogArchiveRelativeURLプラグイン
≫ 月別アーカイブを年別に並べ替える。 from PARADISE BLOG
お世話になっている 小粋空間 様で新に、プラグインの開発&配布を始められたので ... [続きを読む]
≫ ダイナミック・パブリッシング対応 ArchiveDateFooter プラグイン from あんちもん2.Lab
ArchiveDateFooterプラグインの、ダイナミック・パブリッシング対応PHP版を公開。ついでに現状のPerl版に潜む問題点を指摘。 [続きを読む]
≫ 月別アーカイブを年別に並べ替え from PARADISE CLUB
小粋空間様にて、配布されている 「ArchiveDateFooter」 プラグイ... [続きを読む]
≫ 月間アーカイブを月単位かつ年単位でまとめる from K's Labo
香川県の昨日の最高気温は34度もあったらしいです(うへぇ?)。どおりで暑かったは... [続きを読む]
≫ 年別に月別アーカイブをリスト化 for Movable Type from SCREAMO
Movable Typeでは、標準のテンプレートで月別アーカイブをリスト化できる。だが年別に月別アーカイブをリスト化するのは容易な事ではない。しかし、a... [続きを読む]
≫ 月別アーカイブを年別にソート(1) ArchiveDateHeader/Footerプラグイン from ただてとてとと歩きだす
MT4でも使えるようになったArchiveDateHeader/Footerプラグインを用いて、月別アーカイブウィジェットの表示を拡張、そして適切にマーク... [続きを読む]
こんばんは、yujiroさん
プラグインの開発お疲れ様です。
今回導入させて頂きました
素晴らしいプラグインをありがとうございます。
>mituruさん
こんばんは。
プラグインご利用&トラックバックありがとうございました。
無事に表示されて良かったです。
ではでは!
続いてお尋ねします。
4.インストール→アップロードも済み、
plugins/ArchiveDateFooter/ArchiveDateFooter.pl
plugins/ArchiveDateFooter/tmpl/config.tmpl
となりました。
5.使用例
以下の月別アーカイブリスト
<MTArchiveList archive_type="Monthly">
・
・
はどこに挿入すればよいのですか?
「Head~/Head」間ですか?
yujiroさま。おかげさまで、Monrhly Archives はここまで出来ました。
menufolder.js をダウンロードしました。
=========
そこで menufolder.js をクリックし、同じファイル名でご自身のPCに保存してください。
=========
とありますが、どこへ保存するのでしょうか?
yujiroさま。トップページでなんとか出来ましたので、後はなんとかやってみます。ありがとうございました。
>curatorさん
こんにちは。
ご連絡ありがとうございました。
ご連絡が遅くなってすいません。無事折りたためるようになったようで良かったです。
さらにツリー化をされるにあたって、ご不明な点がございましたらご連絡ください。
ではでは!
yojiroさま。お忙しいところご連絡有難うございました。
=======================================
さらにツリー化をされるにあたって・・・・
=======================================
やはり、ツリー化をしたいのですが、これからのスクリプトの続きをお願いします。急ぎませんのでお待ちしております。スタイルシートは追加しました。
>curatorさん
こんにちは。
ご質問の件ですが、スクリプトを利用するカスタマイズより下記の方法が簡単だと思いますのでご紹介しておきます。
ツリー化にあたっては、まず月別アーカイブリストのタグを「JavaScript 不要なサイドメニューのツリー化 for Movable Type」の2項の「Monthly Archives(月別アーカイブリスト:年別表示)」に置き換えてください(念のためこれまでのタグもバックアップしておいてください)。
スタイルシートは同じ記事の3項を使ってください。さらにツリー化画像は同じ記事の4項・5項を行ってください。
それではよろしくお願い致します。
yujiroさま。ご指摘の通りしたのですがどうも上手くいきません。ツリー化をせずに一気に折りたたみにしたのがいけなかったかもしれません。
もう一度メインページにあるような表示からツリー化→折りたたみへと進む方法を再度お願いします。
急ぎませんので、お暇なときにお返事をお待ちしております。
>curatorさん
こんにちは。
ご質問の件ですが、まず、月別アーカイブのタグはきちんとカスタマイズできている(li タグに tree および tree_end が表示されている)ので、次に、月別アーカイブリストの下に追加されている、
<script type="text/javascript">
<!--
generateNormalTree('archives');
//-->
</script>
を削除してください(これは今回不要です)。
そして、「JavaScript 不要なサイドメニューのツリー化 for Movable Type」の3項・4項・5項のカスタマイズを行ってください。
ここまでの作業でツリー化できることをご確認ください。
それではよろしくお願い致します。
yujiroさま。毎度お世話になります。
ご指摘の今回不要なスクリプトの削除、3項・css追加、4項・ツリー画像のDL、5項・画像のアップロードのカスタマイズをしました。
リストマークは非表示になったのですが、ツリー画像が表示されないのです。
cssではurl(tree_lst.gif);となっています。点線画像のtree_lst_dotted.gifをアップロードしても問題はないのでしょうか?
表示されないのは画像の配置場所を間違えているのでしょうか。
よろしくお願いいたします。
>curatorさん
こんにちは。
ご質問の件ですが、ツリー用画像のファイル名は、CSSに記述しているファイル名と一致させる必要があります。
ということで、ダウンロードした
tree_lst_dotted.gif
tree_end_dotted.gif
をそれぞれ
tree_lst.gif
tree_end.gif
に修正してからアップロードしてください。
それではよろしくお願い致します。
yujiroさま。
ツリー画像の表示が出来ました。この後の最後の折りたたみをお願いいたします。
このツリー化と、下部の折りたためとの組み合わせが、どうしても分かりません。
あともう少しです。お手数かけ本当に申し訳ございません。
>curatorさん
こんばんは。
ご質問の件については別途エントリーさせてください。すいませんが少々お時間ください。
それではよろしくお願い致します。
ArchiveDateHeaderはこちらのが新しいですよ
http://code.appnel.com/dist/mt-archive-dateheader
>eidanさん
こんにちは。
情報提供、ありがとうございました!
はじめまして!
小粋空間様を拝見させていただきカスタマイズ進めています。
今回、ArchiveDateFooter プラグインを導入し、ツリー化も上手く行ったのですが、
に
sort_order="ascend"
とアトリビュートを追加したところ上手く表示できなくなりました。
12月からではなく1月から表示されて行くのですが、1月のところでArchiveDateFooterが働いてしまうようです。
こういった仕様なのでしょうか?
スミマセン
先ほどのコメントでMtタグをそのまま入れてしまいました。
<MTArchiveList archive_type="Monthly" sort_order="ascend">
に
sort_order="ascend"
追加です。。。
>虎!さん
こんばんは。
ご質問の件ですが、改善可能か確認してみます。申し訳ございませんがお時間ください。
なお、エントリーの更新等がなければ「仕様」ということでお許しください。
それではよろしくお願い致します。
了解しました!
お手数おかけしますが、調査の程よろしくお願いします。
こんばんは、 yujiroさん
お世話になっています。
プラグインを使わせて頂いています
ありがとうございます。
>mituruさん
こんにちは。
ご返事遅くなってすいません。
ご利用&トラックバックありがとうございました!
yujiro様
プラグインやテンプレートのカスタマイズのエントリーいつも有り難く利用させて頂いております。小粋空間さんのプラグインで何度救われたことか・・・。
今回月別アーカイブとカテゴリ+サブカテゴリを新たにカスタマイズしようと思ってテンプレート弄っていたのですがとんでもない不都合を自分のブログで見つけてしまいました。
エントリーページのカテゴリURLだけ全てエントリーページのURLになっているんです。
ソースを見るとカテゴリURLの表示はされておらず<a href="">カテゴリ1 (1)</a>といった感じで空白です。
(インデックスやカテゴリーのカテゴリは問題なく表示されています。)
自分のテンプレやMTタグがおかしいのかと思って小粋空間さんで配布されているタグをコピペして試してみたり他のテンプレを使ってみたりしましたが同じ結果になってしまいました。
全ページ同じモジュール(カテゴリ用)を呼び出しているのでエントリーだけ変になるのもおかしな話です・・・。
<div class="cat">
<h2>カテゴリ</h2>
<ul class="menu">
<MTTopLevelCategories>
<MTFilterCategories exclude="記事全表示">
<MTIfNonZero tag="MTCategoryCount">
<li<MTHasNoParentCategory>class="tc1"</MTHasNoParentCategory>><a href="<$MTCategoryArchiveLink$>"><MTCategoryLabel cutfirstchar="3"> (<$MTCategoryCount$>)<br />
<span class="des"></a></li>
<MTElse>
<li<MTHasNoParentCategory> class="tc1"</MTHasNoParentCategory>><a href="#top"><MTCategoryLabel cutfirstchar="3"> (<$MTCategoryCount$>)<br />
<span class="des"><$MTCategoryDescription$></span></a></li>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse max_depth="3">
</MTFilterCategories>
</MTTopLevelCategories>
</ul>
</div>
モジュールはこんな感じです。
Movable Type 4.1b1a-enを使っているのでベータ版特有の不都合なんでしょうか・・・?
それとプラグインでこのような症状が起きる可能性はあるのでしょうか?
yujiro様に頼るしかないと思いこんな書き込みをしてしまいました。
申し訳御座いません・・・。
わかる範囲で構いませんのでアドバイスを頂けたらと思っております。
よろしくお願いします!!
>takezoさん
こんばんは。
頂いたタグをMT4.1のサイトに貼り付けましたが、ブログ記事ページでも正常に動作するようです。
4.1ベータ版の不具合かもしれません。
なお、MTFilterCategoriesだけは外して試しました。
それではよろしくお願い致します。
yujiro様
返事が遅くなってしまい大変申し訳御座いません。
時間がかかってしまいましたが
ご指摘通りベータ版からMTOSにアップグレードしたところ
問題なく動作しましたのでベータ版の不都合だったようです。
無事に解決することが出来ました。
ありがとうございますm(_ _)m
>takezoさん
こんにちは。
ご連絡ありがとうございました。
無事になおったようで良かったです。
ではでは!
こんにちは。
年度別でMTArchiveDateHeaderプラグインとArchiveDateFooter プラグインを使用して、スケジュールを作成しているのですが、なぜか5月と10月のエントリの時だけ、ArchiveDateFooterが作動せず、レイアウトが崩れてしまいます。
年度別アーカイブで使用しているからなのか、原因が分からず困っています。
ソースは↓こんな感じです。
<MTArchiveList archive_type="Weekly" sort_order="ascend">
<MTEntries>
<MTArchiveDateHeader>
<table border="0" cellpadding="0" cellspacing="0" id="schedule_table">
<tr>
<td id="month"><MTEntryDate format="%m"></td>
<td>
</MTArchiveDateHeader>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="day"><MTEntryDate format="%d"></td>
<td id="week"><MTEntryDate format="%a"></td>
<td id="event_name"><a href="<$MTEntryLink archive_type="Individual"$> "><$MTEntryTitle$></a></td>
<td id="sponsor"><$MTEntryCategory$></td>
</tr>
</table>
<MTArchiveDateFooter sort_order="ascend">
</td>
</tr>
</table>
</MTArchiveDateFooter>
</MTEntries>
</MTArchiveList>
お手数ですが、良いアドバイスをよろしくお願いいたします。
>シンさん
こんばんは。
ご返事遅くなりすいません。
いずれのプラグインも年の変わり目を判断材料にしているので、年度別アーカイブでは正常に動作しないと思われます。
何かいい案が思いついたらエントリーで公開したいと思いますが、しばらく時間がとれないので、予めご了承ください。
それではよろしくお願い致します。
こんばんは、勇次郎さん。
些細なことなのですが、MT4.2用のプラグインで
$VERSION = '2.00';
となっているため、表示が2.00になってしまっていますね。
>oscarさん
こんにちは。
ご指摘ありがとうございました。
プラグイン修正致しました。
こんにちは。
いつもお世話になっております。
今回DateFooterの導入を考えている者です。
プラグインをダウンロードさせて頂いたのですが、解凍してもconfig.tmplが見当たりません。
お手数ですが、宜しくお願い致します。
>hachiさん
こんにちは。
ご質問の件ですが、本文の記述もれでした(3.x には config.tmpl があったのですが、4.x 版には config.tmpl はありません)。
申し訳ありません。
本文を修正致しましたのでご確認ください。
それではよろしくお願い致します。
早速のコメントありがとうございます。
私がよく本文を読めていませんでした。お手数おかけ致しました。
続けて、質問で申し訳ないですがMT4.1.3で下記のディレクトリにファイルアップロードしたのですが、MT管理画面のプラグインに表示されません。
これは問題ないでしょうか。
現在、7月のアーカイブでは問題なく表示されるのですが、8月のアーカイブでArchiveDateFooterでかこってあるタグが表示されず思案しております。
お忙しいところ、何度もお手間とらしてしまい申し訳ございません。
何かアドバイス頂けると幸いです。
宜しくお願い致します。
何度もすみません。
プラグイン表示の件は自己解決しました。
お手数おかけ致しました。
ArchiveDateFooterの表示の件は未解決です。
7月は問題ないのですが、8月は?です。
上記シンさんと同様の問題でしょうか?
宜しくお願い致します。
>hachiさん
こんばんは。
根本的な解決策ではありませんが、4.13 であれば、「年別アーカイブを利用した月別アーカイブの年別表示」を試してみてください。
それではよろしくお願い致します。
yujiro様
おはようございます。hachiです。
お忙しい中、ご丁寧な対応、ありがとうございます。
アドバイス頂きました、年別アーカイブを利用した月別アーカイブの年別表示を一度試してみたいと思います。
ありがとうございます。
また、ご報告致します。
それでは、宜しくお願い致します。