しばらく前に 0.5.0 をリリースした AmazonLink ですが、ASIN を調べるのにわざわざ Amazon.co.jp に行くのは面倒であることに気がつきました。アソシエイトセントラルで調べたりしたら意味がないですしね。
というわけで、先週から記事作成画面で検索する機能を実装中です。アクションフックの dbx_post_advanced
を使って、抜粋表示オプションなどのドッキングボックス部分に検索フィールドを追加しています。検索結果は Ajax を使っているのでリロードやポップアップウィンドウはありません。
Ajax らしく、ローディング中は回転アニメーションを表示。Ajax といえばやはりこれです。
ちなみに、このアニメーションファイルは Ajaxload で作成しました。ブラウザで手軽に作れるのでお勧めです。
検索結果の表示はこんな感じ。タイトルの下にあるのが、AmazonLink 用のコードです。本当はクリックで挿入とかやりたいところですが、方法がまだわからないのでコピー&ペーストで。
今後の優先課題は、10件目以降の検索結果への対応ですね。Amazon Web Service では、10件ごとにしか検索結果を得ることができません。それ以上はページを指定する必要があり、そのページ切り替えの仕組みを考え中です。
ちなみに、使用している JavaScript ライブラリは次のとおり。
XML.ObjTree は、XML データや DOM ツリーを JavaScript オブジェクトに変換してくれるライブラリです。JKL.ParseXML の後継で、prototype.js を使う場合はこちらのほうがお勧めだそうです。内部から prototype.js を呼び出して直接オブジェクトを得ることも可能ですが、XML データの取得と JavaScript オブジェクトへの変換は別にしたほうがデバッグしやすいと感じました。prototype.js で取得して、それを XML.ObjTree に渡して変換ですね。
JKL.Dumper は XML.ObjTree と同じ作者によるライブラリで、JavaScript オブジェクトをJSON 形式テキストにダンプしてくれます。目で見るとわかりやすいので、デバッグ用に使用しています。これもお勧めです。