亜細亜ノ蛾 - Weblog

[SiteSearch Google]

December 12, 2007

MT4 で「更新日時が最新」の記事をプラグイン無しで表示

[ad]

「更新日時が最新」の記事

2007-12-21T22:55:56+09:00 追記

すみません! MT4.x の標準機能で、下記の記事の内容は実現できます。それに、標準機能のほうが高速です。詳しくは、下記の記事をご覧ください。

MT4 標準機能で「更新日時が最新」の記事(「limit」を使う) : 亜細亜ノ蛾 - Weblog

Movable Type 4 で、「更新日時が最新」の記事情報を得る方法を紹介します。MT3 まではプラグインが必要でしたが、MT4 では内蔵機能だけで できますよ!

まずは、「作成日時が最新」の記事タイトルを表示する、ということを考えてみます。これは、簡単ですね。

<MTEntries lastn="1">
  <p><MTEntryTitle></p>
</MTEntries>

次に、「更新日時が最新」の記事タイトル、を得るために MT タグのリファレンスと にらめっこします。

MTEntries | テンプレートタグリファレンス

失敗例

ピッタリのモディファイア、sort_by="modified_on"を見付けたアナタは、きっと こうするでしょう。

<MTEntries lastn="1" sort_by="modified_on">
  <p><MTEntryTitle></p>
</MTEntries>

「誰だってそーする おれもそーする」(by. 虹村 形兆

しかし、これだと「更新日時が最新」ではなく、「作成日時が最新」の記事タイトルが表示されるだけです。なぜでしょう?

失敗の原因

次のコードを「再構築」してみると、答えが見つかるでしょう。

<MTEntries lastn="10" sort_by="modified_on">
  <p><MTEntryTitle></p>
</MTEntries>

つまり、上記のコードは、

「『作成日時が最新』の記事を 10 件抜きだし、その中で『更新日時が最新』の記事から並べ直す」

という意味になります(内部的には どうなっているか、調べてないよ)。

これはこれで使い道があるのですが、更新日時が最新の記事情報だけが欲しい、という用途には合いません。

そこで先人たちは、新たなプラグインを求めてネットの荒波(という名の ぬるま湯)の中に飛び出していったのでした……。

──第一部・完──

さて、ようやく本題ですが、Movable Type 4 ではプラグイン無しで、更新日時が最新の記事を指定できます。

とっっっくに、知られている方法だと思いますが、自分で見付けてうれしかったので、紹介します。

実際のコード

じつに簡単。

<MTEntries lastn="10" sort_by="modified_on">

  <MTUnless name="tmp">  <!-- ここがポイント! -->

    <p><MTEntryTitle></p>

    <MTSetVar name="tmp" value="1">  <!-- ここでセット -->

  </MTUnless>  <!-- ループ 2 回目からは実行されない -->

</MTEntries>

Perl などで使える do-while 構文(必ず一回は実行するループ)をヒントにしました。

ref.: 制御構文 [Perl講座 -Smart]

lastn="10" の数字を増やせば、ソートする範囲を変えることができます。あまり多くすると再構築時間が増える(と思う)ので、用途に合わせてほどほどに。

あと、<MTSetVar> で指定している name="tmp" の部分は、他で重複しないような名前にしましょう。Perl の my のような物は無いですからね。

やはり、MT4 攻略の鍵は、<MTSetVar> ! という記事でした。

Google Adsense

コメント

うぉ!
アニキ、すげーぜ、これ!
一生付いて行きます・・・・p

うを!

そんなにすごいこと、なのか疑問を持ちながら書いたけど、喜んでもらえて良かった。

MTSetVar とか MTIf ・MTUnless の組み合わせって、いろいろ応用が利いて面白いっスね。

コメントを投稿

"MT4 で「更新日時が最新」の記事をプラグイン無しで表示" にコメントを投稿することができます(別ウィンドウが開きます)。

トラックバック

このエントリーのトラックバックURL:

"MT4 で「更新日時が最新」の記事をプラグイン無しで表示"へのトラックバックはまだありません。

過去の記事

カテゴリィ一覧
  1. その他
    1. 食・健康・生活
  2. ウェブデザイン・文章
    1. Movable Type
  3. ウェブ上で見つけたページ
  4. コンピュータ・エレクトロニクス
    1. PC
      1. Firefox
    2. カメラ・デジタルカメラ
  5. マンガ・アニメ・ゲーム
    1. エヴァンゲリオン/ ヱヴァンゲリヲン
    2. マンガ
      1. DEATH NOTE
      2. HUNTER×HUNTER
      3. SKET DANCE
      4. バクマン。
  6. 本・音楽・映画・TV
    1. 映画