Movable Type 備忘録

 最近のタグ一覧を表示する

こんばんわ^^

只今テンプレートの最終確認中です。
お見苦しいとこをお見せするかもです。ご迷惑をおかけします (m;_ _)mペコ

一応デモサイトがてら、テンプレート設置のためのページを作成してみましたの。

テンプレート設置の参考になれば幸いです。
また、今後はテンプレートの上手な使い方などの How to も載せていきますので参考にしてください。

さて、最近のタグ一覧表示についてですが、サイドバーでよく見かけるタグクラウドを、今回は本腰を入れて!? 最近更新されたタグ順に表示してみるカスタマイズをやってみました。

個人的にはサイドバー上にタグクラウドを表示するのは好きじゃなかったので、わたしのサイトでは別ページにてドバァーーーン!! と表示させてました。

というのも、以前試したときには標準の機能では更新日時順でソートができなかったからです。
見た目のインパクトはともかくとして、ただ羅列しただけの情報なんてあまり意味ないかな・・・と思って表示させてませんでした。

だけど割りと需要!? があるようで、タグクラウドに関するメルをよくもらいます。
そこで今作ってるテンプレートには、メルでご紹介してた、更新日時順でソートしたタグ一覧(最近のタグ一覧)を組み込みましたので、そのご紹介です。

- 2008.01.19 追記 -
訪問者さんのご連絡で MTCollate プラグインを使用したサンプルコードにミスがあったので修正しました。
saki さん、どうもありがとう (●>∀<●)/

通常のタグ一覧

通常のタグ一覧は以下のように MTTag テンプレート・タグを用いて表示できますね。

  1. <ul>
  2. <MTTags limit="20">
  3.     <li class="rank<$MTTagRank max="6"$>" title="<$MTTagName$>:<$MTTagCount$>:<$MTTagRank max="6"$>"><a href="<$MTTagSearchLink$>"><$MTTagName$></a></li>
  4. </MTTags>
  5. </ul>

上記は 20 件分のタグを、ただ名前順に一覧表示されるだけです。
また、MTTag テンプレート・タグのモディファイアとして以下のソートが行えるとあります。

sort_by="id | name | count | modified_on | author_ID | excerpt"via: MTTags | # テンプレートタグリファレンス

count は正しくタグ数でソートされるようですが、更新日時順らしき!? modified_on は名前順ソート!? されるだけです。
気になるのは、『ブログ記事を並び替える対象を指定』とあることです。

それってタグの並び替えじゃなくって、記事の並び替えのこと!?
だとしたら用途が違うじゃんと思ってました。それにしたって名前順と同じってのはもおっかしいですよね (; ̄∇ ̄A

プラグインを利用したタグ一覧

なので、MTCollate プラグインと TagSupplementals プラグインを使って最初にすべてのタグ情報をピックアップしてから、更新日時順でソートすることで目的達成できます。
以下がその記述になります。

  1. <MTCollateCollect>
  2.     <MTTags>
  3.     <MTCollateRecord>
  4.         <MTCollateSetField name="tag_name"><$MTTagName$></MTCollateSetField>
  5.         <MTCollateSetField name="tag_cnt"><$MTTagCount$></MTCollateSetField>
  6.         <MTCollateSetField name="tag_rank"><$MTTagRank max="6"$></MTCollateSetField>
  7.         <MTCollateSetField name="tag_date"><$MTTagLastUpdated format="%Y%m%d%H%M%S"$></MTCollateSetField>
  8.         <MTCollateSetField name="tag_link"><$MTTagSearchLink$>&amp;IncludeBlogs=<$MTBlogID$></MTCollateSetField>
  9.     </MTCollateRecord>
  10.     </MTTags>
  11. </MTCollateCollect>
  12.  
  13. <ul>
  14. <MTCollateList limit="20" sort="tag_date:#:-">
  15.     <li class="rank<$MTCollateField name="tag_rank"$>" title="<$MTCollateField name="tag_name"$>:<$MTCollateField name="tag_cnt"$>:<$MTCollateField name="tag_rank"$>"><a href="<$MTCollateField name="tag_link"$>"><$MTCollateField name="tag_name"$></a></li>
  16. </MTCollateList>
  17. </ul>

まず、青い字の部分ですべてのタグに関するタグ名称、タグ数、ラングランキング、そしてタグ更新日付を取得します。
次に赤い字の部分でタグ更新日付順の一覧表示されています。

MTCollate プラグインはレガシーなプラグインなんですけど、今でも使えるなんてすっばらしい (●>∀<●) ですね。
用途としては、上記のように一度すべての情報を引っ張り出して、後でニーズに合わせて表示を変更することができます。機能的にはとっても便利なんですけどね。

 Trackback Pings(0)

No trackbacks found.

 Comments(11)

#1: Posted by Author Profile Page 又佐 @ January 12, 2008 [REPLY]
user-pic

こんばんわ
又佐です。今年もどうぞです。

施設のサイトもですが、自分でもということで初めてみました。まず、いろいろこちらで勉強しながら、介護もことも綴っていきたいなぁと思ってます。
それでは

#2: Posted by Author Profile Page bzbell @ January 12, 2008 [REPLY]
user-pic

>>1 又佐 さん

こんばんわ^^

うわぁ~にこっ! 爽やかなサイトになりまそうですね。
コンテンツはやっぱり福祉に関連したことですか!?
イメージに合ってますねチュ!

今年もよろしくですのチュ!

#3: Posted by Author Profile Page 又佐 @ January 14, 2008 [REPLY]
user-pic

こんばんわbzbellさん

メインはやっぱり、今までの仕事の中で思ったことなどを綴っていきたいですね。サブタイトルは「福祉考学」でいこうと思います。

いろいろとプラグインってのを見ていて、あの閲覧モードがやってみたいのですが、クリックすると字が小さくなったり、テキスト表示になったりと・・・。これもプラグインであるのかなと思って、bzbellさんのとこやMT4のところなど探したのですが、あるのかどうかも見当たりませんでした。
bzbellさんで、推薦する、閲覧モードが組み込めるプラグインがあれば教えてもらえないでしょうか。あせあせ
ウェブアクセシビリティに力をいれなくてはと思い・・・・。

#4: Posted by Author Profile Page bzbell @ January 14, 2008 [REPLY]
user-pic

>>3 又佐 さん

こんにちわ^^

> ・・・クリックすると字が小さくなったり、テキスト表示になったりと・・・。

プラグインでは見たことないですが、JavaScriptを使えばフォントサイズを動的に変更したり、レイアウトを変更したりなどできると思います。ぺこり

#5: Posted by saki @ January 18, 2008 [REPLY]
user-pic

はじめまして。タグクラウドについて検索で探していたところ、こちらのサイト様にたどり着きました。
こちらの記事を参考に同様のタグクラウドを作成してみたところ、使用順にタグは表示されるのですが、タグからのリンクが全てTOPページへのリンクになってしまいました。
Movable Typeの対応バージョンは特に書いてありませんが、こちらはMovable Type4対応でovable Type3.3では利用できないのでしょうか?
お手数をおかけしますが、もし3.3でも使用可能な方法があれば、または何か設置に当たってミスがありそうであればお教えいただけると嬉しいです。不躾なお願いで恐縮ですがよろしくお願いいたします。

#6: Posted by Author Profile Page bzbell @ January 19, 2008 [REPLY]
user-pic

>>5 saki さん

こんばんわ^^

ご連絡が遅くなってすいません。
ご質問の件ですが、MT3.3 でも大丈夫ですよふつう

すべてのリンク先が TOP ページになってしまうとのことですが、saki さんのタグクラウドのテンプレートを見せていただけますか。通常だと MTTagSearchLink タグの出力結果がリンク先となります。

#7: Posted by saki @ January 19, 2008 [REPLY]
user-pic

お返事ありがとうございます。お手数をおかけしますがご指導いただけますようお願い申し上げます。

タグクラウドのページはこちらになります。
http://night.littlestar.jp/tagcloud.html

また、ソースはこちらをご参照ください。(TXTファイルです)
http://night.littlestar.jp/data/tagcloud_test.zip

ソースはこちらのページにあるものをそのまま写させていただいたのですが、何故かMTTagSearchLink タグが上手く動作していないようです。MTCollate プラグインと TagSupplementals プラグインはどちらもインストールしておりますし、プラグイン一覧を見る限り正常にインストールされていると思われます。
試しに上記ページでは、上半分に通常のタグクラウド(モジュールページに最初から準備されているソース)も同時に並べてみておりますが、そちらのリンクは正常に動作しております。
拙いページで恐縮ですが、何かお気づきの点があればよろしくお願いいたします。

#8: Posted by Author Profile Page bzbell @ January 19, 2008 [REPLY]
user-pic

>>7 saki さん

こんにちわ^^

なるほど理解しました。
原因は MTTagSearchLink タグを MTTag 外で使用したことによると思います。
以下のように変更してみてください。

<MTCollateCollect>
<MTTags>
<MTCollateRecord>
<MTCollateSetField name="tag_name"><$MTTagName$></MTCollateSetField>
<MTCollateSetField name="tag_cnt"><$MTTagCount$></MTCollateSetField>
<MTCollateSetField name="tag_rank"><$MTTagRank max="6"$></MTCollateSetField>
<MTCollateSetField name="tag_date"><$MTTagLastUpdated format="%Y%m%d%H%M%S"$></MTCollateSetField>
<MTCollateSetField name="tag_link"><$MTTagSearchLink$>&amp;IncludeBlogs=<$MTBlogID$></MTCollateSetField>
</MTCollateRecord>
</MTTags>
</MTCollateCollect>
<ul>
<MTCollateList limit="20" sort="tag_date:#:-">
<li class="rank<$MTCollateField name="tag_rank"$>" title="<$MTCollateField name="tag_name"$>:<$MTCollateField name="tag_cnt"$>:<$MTCollateField name="tag_rank"$>"><a href="<$MTCollateField name="tag_link"$>"><$MTCollateField name="tag_name"$></a></li>
</MTCollateList>
</ul>

変更点は MTCollate で tag_link というタグのリンク先を追加したことです。
それに伴ってタグ一覧表示のところのアンカーも変更しています。

わたしの記事がミスがあったようですねあせあせ
すいません訂正しておきます。もじもじ

#9: Posted by saki @ January 19, 2008 [REPLY]
user-pic

早速のお返事をありがとうございます。ご指示の通り修正したところ正常にリンクが作動するようになりました。取り急ぎお礼申し上げます。どうもありがとうございました!

#10: Posted by Ran @ May 27, 2009 [REPLY]
user-pic

bzbell さんお早うございます(^^)V。

本題とは話しがずれて申し訳ないのですが、タググランドを付けると、ログに「検索:タグ」として記録されてしまいますよね?。「キーワード」を入れて検索されたログは参考になるのですが、「タグ」をいちいち記録されるとたった1日で数百とログが膨らんでしまうんです。

「タグ」検索結果をMTのシステムログに記録させない方法って何かないでしょうか?。
ログに記録されてもあまり使い道が内容で無駄に感じている今日この頃(^_^;)。

逆にダッシュボードのシステムログを検索だけに絞って、「よく検索されているタグ」のランキングとか出せればいいのにな。。。と思っているんですが、お時間があって気が向いたらそんなカスタマイズもご指導お願いいたしますm(__)m。


#11: Posted by Author Profile Page bzbellからRanへの返信 @ May 27, 2009 [REPLY]
user-pic

>>10 Ran さん

こんばんわ^^

確かにウチも検索ログでいっぱいですねあせあせ
でも Ran さんのような発想はありませんでした。

単純に検索ログを記録しないようにするだけなら、MT の CORE をカスタマイズすれば可能な記がします。また、MT では log_level というものでログ情報を識別しています。
このログレベルを利用すればキーワード検索、タグ検索の閲覧を制御できそうな気がするのココロキャハハ
いずれにしてもすぐには無理なので、少し調べてみますねブイブイ

そそ、ランキング表示ですがちょとムズかしいかも。少なくともわたしにはエーン
だって、MT で記録されるログ情報は普通に文字列( 検索: 検索ワード )で記録されてるので、成分を分解して順位をつける必要があるから。

 Post a Comment

 

コメント用フィード