Home > Internet > Movabletype > キーワードとタグ(1)

キーワードとタグ(1)

ひとまずMovableType3.3上で、標準のタグ機能を使った上で、Tagwireプラグインを使えるようになりましたので、とりあえずそこから説明します。

テンプレートタグ比較

MT3.3で使えるようになった、エントリー・タグのリストは以下の通りです。
    コンテナタグ
  • MTEntryTags
  • MTTags
    条件タグ
  • MTEntryIfTagged
  • MTIfTagSearch
    変数タグ
  • MTTagName
  • MTTagID
  • MTTagCount
  • MTTagRank
  • MTTagSearchLink

さらに TagSupplementals プラグインをインストールする事で、

    コンテナタグ
  • MTRelatedEntries
  • MTRelatedTags
  • MTSearchTags
  • MTXSearchTags
    変数タグ
  • MTEntryTagsCount
  • MTTagLastUpdated
  • MTTagXSearchLink

というタグが追加になります。
これらのタグは Tagフィールドを参照します。

ここに、Tagwire プラグインをインストールします。
すると、以下のタグが追加されます。

    コンテナタグ
  • MTTags
  • MTEntryTags
  • MTRelatedEntries
  • MTEntriesWithTags
  • MTMostRelatedEntries
  • MTXSearchTags
    変数タグ
  • MTTag
  • MTTagCount
  • MTTagsTotal
  • MTTagsTotalSum
  • MTTagDate

赤い色のタグは同名の為、Tagwireプラグイン側のタグが、MT3.3のタグを上書きしてしまいます。

その為、TagwireプラグインをインストールしたMT3.3で以下のテンプレートを実行すると、Tagwireのコンテナタグ内で、Tagwireプラグインの理解できないタグ「MTTagSearchLink」「MTTagName」「MTTagCount」が指定されたために、空の出力になります。

<MTTags>
  <a href="<$MTTagSearchLink$>"><$MTTagName$>(<$MTTagCount$>)</a>
</MTTags>

MT3.3は標準タグ機能自身にパフォーマンス上の問題があった事と、以前からTagwireを使用しておりキーワードとタグの内容がほとんど同じだったため、この状態になかなか気づかないでいました。

Tagwireプラグインの改変

以上の状況を回避するため、Tagwireプラグインのタグ名称の変更を行いました。

実際に変更しなくてはならないのは赤いタグのみなのですが、TagSupplementalsプラグインのバージョンアップやMovableType自身のバージョンアップ、新たなプラグインの登場等により、名前の重複がさらに発生する可能性もあるので、ほとんどのタグ名を変更することにしました。

本当は Keyword という語が入ったタグ名にしようかと思ったのですが、オリジナルのKeyword関連タグと逆に紛らわしくなりそうなので、ストレートな名前にしてあります。

コンテナタグ
「MTTags」>「MTTagwires」
「MTEntryTags」>「MTEntryTagwires」
「MTRelatedEntries」>「MTRelatedTagwires」
「MTEntriesWithTags」>「MTEntriesWithTagwires」
「MTMostRelatedEntries」> これだけは長くなるし、良い名前が見つからなかったので変更してません。
「MTXSearchTags」>「MTXSearchTagwires」

変数タグ
「MTTag」>「MTTagwire」
「MTTagCount」>「MTTagwireCount」
「MTTagsTotal」>「MTTagwiresTotal」
「MTTagsTotalSum」>「MTTagwiresTotalSum」
「MTTagDate」>「MTTagwireDate」

としました。

変更自体は、それほど難しくはなかったです。

Tagwireプラグインをエディタで開きます。
MT::Template::Context->add_container_tag と MT::Template::Context->add_tag の部分が
タグ名を定義している部分なので、そこを見つけて修正していきます。

例えば、MTTagsコンテナ・タグの場合は
MT::Template::Context->add_container_tag('Tags' => ¥&tags);
となっている部分を
MT::Template::Context->add_container_tag('Tagwires' => ¥&tags);

とする事で、MTTagwiresコンテナ・タグとして、使用できるようになります。

くれぐれも私みたいに、テンプレート内に古い名前を指定したままにしないでくださいね。

こうしてキーワードとタグを同時に使えるようにしたら、何が出来るかという話題は、また別のエントリーで・・・

Trackbacks:(2)

TrackBack URL for this entry.(1)
Listed below are links to weblogs that reference
キーワードとタグ(1) from WolaWola
オサーンの投資生活 thumbs 「タグとキーワード」 from オサーンの投資生活 2007-01-08 (月) 22:30:24

超便利な Ogawa::MemorandaさんのTagwire Puginっての...
[詳しくはトラックバック元サイトで]

hide213's weblog thumbs 「タグとキーワード」 from hide213's weblog 2010-01-16 (土) 13:54:49

超便利な Ogawa::MemorandaさんのTagwire Puginってのを入れているんですけど、これをつかうとMovablrtype純正の Tag...
[詳しくはトラックバック元サイトで]

Comments:(2)

bzbell`s user-pic TypeKeyAuthed bzbell said November 12, 2006 9:07 PM | ReplyThis!

こんにちわ^^

ブッキングするタグのタグ名のみ変更しただけだと、エラーしてしまうタグがありました。
たとえば、MTEntriesWithTags です。

わたしも上記タグを使用するまで気づかなかったのですが、最近使ったところ再構築時にエラーしてしまったんです(; ̄∇ ̄A

でも、すべてのコンテナタグ、変数タグを同様の変更することで問題なく使えました( ̄∇ ̄)/

oscar`s user-pic oscar replied for bzbell's comment November 13, 2006 10:32 AM | ReplyThis!

こんにちは、bzbellさん。

あれっ、bzbellさんところってMT標準のタグ使わないで、Tagwireを使ってるんじゃないでしたっけ?

標準タグコンテクスト内でTagwireのタグを使うとか、その逆の時にエラーが出るって認識してたんだけど。

どっか、深いところで直接コンテナ名呼び出してるのかな。

スクリプトの読み込みが完了していません。

Sign in Sign in Sign in

メールフォーム(Javascriptを使用していません)や、twitter.pngTwitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。

Comment Form

QuickTagsHere

EmoticonHere

(入力しない場合「Anonymous」で代替されます)
(公開はされませんが、Gravatarアイコンの取得や、Comment Subscribeの送信先アドレスとして使われます)
(入力すると、コメント表示でユーザー名にリンクが貼られます)
(この情報は、JavascriptによりCookieに保存されます。)

NotifyMail Powered by Comment Subscribe

はてブコメント:

Home > Internet > Movabletype > キーワードとタグ(1)

MT5Techniques

MT5Techniques

2冊目の共著「Movable Type 5 実践テクニック」(シックスアパート監修)が出版されました。(ソフトバンク クリエイティブ刊)

検索
(5)
(6)

別ページに遷移します。

Powered by Hyper Estraier

Feeds
Link Status
In One

なかのひと

位置情報ブログパーツ「なかのひと」

Links
Powered By

Return to page top