Tagをオートコンプリートで入力する。

前回のエントリで、無事、Tagに対応した。
そういうわけで、エントリー投稿ページにキーワード入力を復活させ、
Tag入力にいそしんでいるわけだが、
ちょっとしたミスで、スペルを間違えたり、大文字小文字を取り違えたりして、
全エントリやり直し!なんてことが何度か。

もちろん完璧にやれればそれに越したことがないのだけど、
人間、どんな状況でもミスはするものなので、それへの対処を考える方がよっぽど有益。
そういうわけで、またもや、Ogawa::Memorandaさんにお世話になってみた。
参考にしたエントリは、以下。

Ogawa::Memoranda: MT 3.2 + Tagwire Pluginでタグ入力をオートコンプリートする

Ogawa::Memoranda: キーワードを元にエントリのbasenameを設定する


JavaScriptの部分は、あんまりよく見ていないのでわかりませんが(汗)、
基本的には、キーワードの部分は別途テンプレートを適用するように変更し、
テンプレートの中身には、Tagを反映させるということをやっている様子。
で、そのテンプレート内のTagデータに対して、
JavaScriptで拾った入力文字列でピックアップしている、と。

なんとなく、反応がシビアな気がするけれども、
(Shiftなどを押してしまうと反応しなくなってしまう。スペースを挟むか、
BackSpaceを押すことで正常化する)
それにしても便利なのは確か。
スペースを間に挟むことで、複数のキーワードにも反応するし。
とは言え実は、最初は、コンマで区切っていたので、
コレを実感できていなかったのだけど。


素晴らしい。
感謝。

追記
なお、これを実装したあとで、気付いたのだけど、
IE(またはIEのエンジン)で、エントリを書いている場合、
キーワードのリストが、<select>要素に引っかかってしまい、
一部が見えなくなってしまう。
(『NOBODY:PLACE – MUTTER: Select要素は必ず前面に表示される。』参照のこと)


これを極力回避するために、
edit_entry.tmplをいじってみた。
こんな感じ。

公開設定を右にずらした

もちろん、根本的な解決ではないし、
FireFoxや、BookMarkletを使う方がスマートだとは思うけど、
この環境に慣れてしまってるので。
取り敢えずはこれでいいかなぁ、と。