<MTArchiveList archive_type=”Monthly”>ではlastnは使えてもoffsetは使えないみたいですよね。offsetを使えるようにするプラグインはないでしょうか?

実はMTArchiveListで、今年の分はulでリスト化し、去年までの分はselectでプルダウンメニューにしたいのです。
何か方法はないでしょうか?どなたかご存知ありませんか?どうかよろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:senchou No.1

回答回数13ベストアンサー獲得回数0

ポイント90pt

インストールが普通のプラグインより少し面倒ですが、

MT Regex Plugin を利用すれば、

2005年と他の年で分ける事が可能です。


条件:URL等に西暦が入っている必要があります。

(西暦の文字列:2005を検索してフィルタしています)


1:2005年のアーカイブリスト

<ul>

<MTArchiveList archive_type=”Monthly”>

<MTIfMatches pattern=”m/.*2005.*/”>

<li><a href=”<$MTArchiveLink$>”><$MTArchiveTitle$></a></li>

</MTIfMatches>

</MTArchiveList>

</ul>


2:2005年以外のアーカイブリスト

<ul>

<MTArchiveList archive_type=”Monthly”>

<MTIfNotMatches pattern=”m/.*2005.*/”>

<li><a href=”<$MTArchiveLink$>”><$MTArchiveTitle$></a></li>

</MTIfNotMatches>

</MTArchiveList>

</ul>


欠点:

文字列「2005」が2005年のアーカイブ以外にも含まれていると利用できません。

2006年になったら、pattern=”m/.*2005.*/”をpattern=”m/.*2006.*/”に修正する必要があります。


もう一つのサンプル。

offset を利用するだけならば、 MTCollate で可能です。

ただ、年区切りで分ける事はできません。

単純に件数の頭を削っています。


最近12ヶ月を除いたリスト表示のサンプル。


<!--定義付け-->

<MTCollateCollect>

<MTArchiveList archive_type=”Monthly”>

<MTCollateRecord>

<MTCollateSetField name=”archive_link”><$MTArchiveLink$></MTCollateSetField>

<MTCollateSetField name=”archive_title”><$MTArchiveTitle$></MTCollateSetField>

</MTCollateRecord>

</MTArchiveList>

</MTCollateCollect>

<!--出力-->

<ul>

<MTCollateList offset=”12”>

<li><a href=”<MTCollateField name=”archive_link”>”><MTCollateField name=”archive_title”></a></li>

</MTCollateList>

</ul>


欠点:

<MTCollateRecord>による定義付けが必要なので、カスタマイズが面倒かもしれません。


※サンプルを表示しておりますが、はてなの仕様で「”」が全角になります。コピペする際は置換作業が必要です。

http://www.drk7.jp/MT/archives/000827.html

Movable Type の正規表現プラグイン :: Drk7jp

http://suzumi.boo.jp/adanami/200410/20_1410.php

徒波|MT の Recent TrackBack で連続したトラックバックをヘッダー化する方法 [要Plugin : MTCollate , MTPingedEntry]

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません