MTRandomEntries を使ってみる。

image357

なんか、夏休み開けてから AC とか入試関係と、その他もろもろでなかなか大変な毎日です。

おかげで、ブログもさぼりっぱなしだったりしますね。

そんな中、たまたま、MT のプラグインディレクトリなんか見てたのですが。

こんなものを見つけました。

ランダムなエントリーを抽出して表示してくれるらしい。面白い。

というわけで、さっそく使ってみた。

サイドバーに表示するように設定してみました。

お~、これは過去の黒歴史を読んでくれる人が多くなりそうで、いいのだか悪いのだか...

(実際に使ってみたい人は続きを読むべし。)

 

と、こんな感じに便利なプラグインを発見したのだが。

たぶん、これだけだったらブログ記事にしなかったと思う。

こんな素直な記事じゃ終わらないのが、最近のこのブログwww

なわけで、本題開始。

 

1.トラブル発生

サイドバーにランダムエントリーを表示しようと、ウィジェット追加に取り掛かった。

こんな感じで、Random Entries というウィジェットを追加した。

<div>
  <h3 class="widget-header">Random Entries</h3>
  <div class="widget-content">
    <ul class="entry-meta">
      <MTRandomEntries lastn="3">
      <li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a><br />
      <span><$MTEntryDate format="%y/%m/%d"$> | コメント(<mt:EntryCommentCount />)</span></li>    
      </MTRandomEntries>
    </ul>
    <p>日替わりらしい。<br />
    仕様上ページ別に変わるらしい。<br />
    Random な感じらしい。</p>
  </div>
</div>

レファレンスには、"category" と "lastn" の値を与えてくれよ!って書いてある。

けど、カテゴリー指定なんていらない。

ということで、category 抜きでインデックステンプレートを再構築。

お~いいじゃん。じゃあ、すべて再構築というわけだが...

エラーが発生しました。

close ブログ記事「Firefox の検索バーをカスタマイズしてみる。」の再構築中にエラーが発生しました: テンプレート「ブログ記事」の再構築中にエラーが発生しました: <mtInclude>タグでエラーがありました: error in module フッター: テンプレート「フッター」の再構築中にエラーが発生しました: <mtIf>タグでエラーがありました: <mtInclude>タグでエラーがありました: error in module サイドバー: テンプレート「サイドバー」の再構築中にエラーが発生しました: <mtIf>タグでエラーがありました: <mtElse>タグでエラーがありました: <mtIf>タグでエラーがありました: <mtElse>タグでエラーがありました: <mtWidgetSet>タグでエラーがありました: <mtinclude>タグでエラーがありました: error in widget Random Entries: テンプレート「Random Entries」の再構築中にエラーが発生しました: <mtRandomEntries>タグでエラーがありました: MT::Category=HASH(0xa1547d0)というカテゴリはありません。

なに!また僕を困らせたいのですか。

そうですか、そうですか。

せっかくなので、お付き合いしてあげましょう。

 

2. 原因究明する

まあ、いつものようにエラーメッセージを元に原因究明するわけですが。

MT::Category=HASH(0xa1547d0)というカテゴリはありません。とか言われても困る。

どうも、ブログ記事の再構築をするとだめらしい。

日別とか、インデックスは問題なさそう。

わからねぇ。ということで、プラグイン本体と戯れることにする。

 

どうも、プラグイン本体 (randomentries.pl) は 100 行そこそこの大したことないものみたいだ。

読むのも楽だ。だけど、MT のプラグインなんて組んだことないし、面倒だ。

今回の目的、早い話がカテゴリー指定なんていらないから、その部分を取り払えばいい。

このプラグインの中身はカテゴリー指定があった場合、カテゴリーの記事IDをリストアップしてそこからランダムにみたいなことをやってるのかね?

ということは前半部分の catLabel とか使ってる部分いらなくて、

else {
    @entries = MT::Entry->load ({ blog_id => $blog_id,
    status => MT::Entry::RELEASE() });
  }

ここだけ実行すればいい。

23 ~ 70 行目は、コメントアウトとかして取り払おう。

で、上記の else の中身だけを残せばいい。

 

3. 適当がちょうどいい。

さあ、ひと仕事終了。

一応、修正版?なのか?を、上げておきます。

再構築しても、何もエラー出ないしちゃんと動いてるみたいだし、問題ないね。

こういうエラーは、適当に推し進めていくと以外とうまくいくものだ。

いや、僕は常に "適当" で生きている人間ですからw

 

余談:

ん?修正版?なのか?の if(0) は何だって?

いや、これ結構使わない?

いらない部分をコメントアウトしたのと同じ効果を得ている、はず。

消去するのは、作成者の気持ちを考えると... (何

コメントアウトするのが一番いいのだけど、正直この行数を全部コメントアウトしていくのは面倒。

なんて時に if(0) の出番です。結構使います。

トラックバック(0)

このブログ記事を参照しているブログ一覧: MTRandomEntries を使ってみる。

このブログ記事に対するトラックバックURL: http://techno-st.net/mt/mt-tb.cgi/667

コメントする

2008年11月

      1
2345678
9101112131415
16171819202122
23242526272829
30      

Random Entries

日替わりらしい。
仕様上ページ別に変わるらしい。
Random な感じらしい。

アーカイブ

  • 月別アーカイブ:
  • カテゴリーアーカイブ:

Ads

このブログ記事について

このページは、technoが2008年9月24日 23:36に書いたブログ記事です。

ひとつ前のブログ記事は「Firefox の検索バーをカスタマイズしてみる。」です。

次のブログ記事は「Options ExecCGI is off in this directory: /foo/bar/hoge.pl.txt」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

 

- 実験中 -

mgfxjey49@techno-st.net

xq58grpua@techno-st.net

m0ss9eatc(at)techno-st.net

y75vdonfa@techno-st.net

edvvb6cx9@techno-st.net

Mail Address