記事本文
お出かけ前の 3 分リファクタリング
<meta name="keywords" content="<MTTags><$MTTag$>,</MTTags>■■■" />こんな感じかな? 最後尾はなにかキーワードをあらかじめ入れておく必要有。
試してみたけれどうまくいかない・・・。 試行錯誤ちうです。
最後尾はなにかキーワードをあらかじめ入れておく必要有
というのは、おそらくキーワードの区切り ( , ) を MTTags コンテナタグ内に直接書いていることによるものだと推測。
コンテナタグ内に直接記述するのではなく、 glue 属性に書いてしまえば最後のキーワードの後ろに , が配置されることも無くなるでしょう。
また、 MTTags コンテナタグは weblog 全体のキーワードをリストアップするものなので、この場合は MTEntryTags コンテナタグを使う方が適切だと思います。
よってこのコードをリファクタリングすると、
<MTIfNonEmpty tag="MTEntryKeywords">
<meta name="keywords" content="<MTEntryTags glue=","><$MTTag$></MTEntryTags>" />
</MTIfNonEmpty>
といった感じになります。 MTIfNonEmpty 条件タグで囲っているのは、キーワード欄に何も書かなかった場合のための保険です。
でも、元々そういうテンプレートタグがありますよ
前項のソースに出てくる MTEntryTags や MTTag というテンプレートタグは Movable Type の標準のテンプレートタグではありません。 Tagwire Plugin というプラグインをインストールすることによって使えるようになるテンプレートタグです。 これは entry_keywords フィールドの値を活用してタグ付け等を行うプラグイン。
ということは、 DB のフィールドを拡張しているわけではなく、既存のフィールドを使っているということ。 entry_keywords フィールドを表示するテンプレートタグを使えば良いのでは ?
<MTIfNonEmpty tag="MTEntryKeywords">
<meta name="keywords" content="<$MTEntryKeywords$>" />
</MTIfNonEmpty>
このように、MTEntryKeywords をそのまま meta 要素に記述すればオーケー。
ただし、これはキーワード欄にて , でキーワードを区切っていた場合の話です。
Tagwire Plugin は , 以外にも ; や | や空白文字が区切り文字として使えますので、それらをキーワード欄に使用している場合は前項のソースの方を使用する方が良いでしょう。
トラックバック送信先
- [嘘]Liar's web:■MTtagsでmeta要素keywordsを入力?
-
la1 さんのコードをリファクタリングしてみました。

