- 2006-09-02 (土) 22:51
- MovableType


- キーワードとタグ(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 の部分が
タグ名を定義している部分なので、そこを見つけて修正していきます。
MT::Template::Context->add_container_tag('Tags' => ¥&tags);となっている部分をMT::Template::Context->add_container_tag('Tagwires' => ¥&tags);とする事で、MTTagwiresコンテナ・タグとして、使用できるようになります。
くれぐれも私みたいに、テンプレート内に古い名前を指定したままにしないでくださいね。
こうしてキーワードとタグを同時に使えるようにしたら、何が出来るかという話題は、また別のエントリーで・・・
- Newer >: links for 2006-09-02
- < Older: links for 2006-09-01
Trackbacks:(2)
- TrackBack URL for this entry.(1)
- Listed below are links to weblogs that reference
- キーワードとタグ(1) from WolaWola
-
「タグとキーワード」 from オサーンの投資生活 2007-01-08 (月) 22:30:24
-
超便利な Ogawa::MemorandaさんのTagwire Puginっての...
[詳しくはトラックバック元サイトで]
-
「タグとキーワード」 from hide213's weblog 2010-01-16 (土) 13:54:49
-
超便利な Ogawa::MemorandaさんのTagwire Puginってのを入れているんですけど、これをつかうとMovablrtype純正の Tag...
[詳しくはトラックバック元サイトで]
Comments:(2)
-
said
November 12, 2006 9:07 PM
|
ReplyThis!
こんにちわ^^
ブッキングするタグのタグ名のみ変更しただけだと、エラーしてしまうタグがありました。
たとえば、MTEntriesWithTags です。わたしも上記タグを使用するまで気づかなかったのですが、最近使ったところ再構築時にエラーしてしまったんです(; ̄∇ ̄A
でも、すべてのコンテナタグ、変数タグを同様の変更することで問題なく使えました( ̄∇ ̄)/
-
-
replied for
bzbell's comment
November 13, 2006 10:32 AM
|
ReplyThis!
こんにちは、bzbellさん。
あれっ、bzbellさんところってMT標準のタグ使わないで、Tagwireを使ってるんじゃないでしたっけ?
標準タグコンテクスト内でTagwireのタグを使うとか、その逆の時にエラーが出るって認識してたんだけど。
どっか、深いところで直接コンテナ名呼び出してるのかな。
-




スクリプトの読み込みが完了していません。
メールフォーム(Javascriptを使用していません)や、
Twitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。