Serendipityのイベントプラグインの1つである、Amazon Chooserイベントプラグインなんだけど。
どうも、最新版にしても日本語の検索がうまくいかない・・と、以前悩んで・・結論というか、しょうがないというか PEARのServices_Amazonに書き換えちゃった という話を以前したようなしてないような・・。
で、そのまま放置していたんだけど、先日のバージョンアップを機に再度最新版をダウンロードして挑戦してみた。
が、やはりうまくいかない・・・、Services_Amazonは直接WEBサービスを叩いているんだけど、ChooserはWSDL経由で作れられている。
そこだ!
WSDL周りでちゃんと日本語圏にアクセスできてない・・と仮説を立てて、AmazonのWSDL周りの情報をぐぐってみた。
ちょうど、@ITの記事を見つけたので、ちょっとソース部分を読んでみた。
ちなみに、対象のソースは.NETだったが、与えるパラメタ周りだけわかればいいので眺めてみると・・・。
Books-jp がmodeパラメタとして指定されている ということに気づく。
Chooserのソースを覚えていたので、これが原因かと悟った。
Chooserは国に関わらず、BooksとかMusicとか固定になっている。
まさに、この部分が日本語の検索をしてくれない原因であったわけだ!
早速、このパラメタ設定に-jpを付け加え、無事オリジナルのソースをベースに動作するようになった。 
このmodeパラメタは国依存にしないで、ロケールでちゃんと判別してくれればこんなことにはならないのに・・・。
とはいえ、今のところ日本のアマゾンしか使わないから固定でいいやぁ・・・。
もう1つAmazonのプラグインというのがあって、こっちはなんとAmazonの商品URLから画像とか商品名を引っ張ってくるんだけど、これも日本サイトにちゃんと対応してないようだ。
こっちのプラグインは、サイドバーにAmazonで推奨(だったかな?)として表示されるものである。
これは使わないからいいやぁ・・・って以前使ったことがあるんだけどね。
ということで、ひさびさにSerendipityネタでした。
ついでに、ちょっと気になる本見つけました。
PHPのHack本なんてあったんですねぇ、Ajax周りとかDB周りとかの技があるようです。
Ajaxは、最近だと xajaxをCIで実験中です
 | (Book) |
PS.MIXIへの投稿プラグインもちょっとバージョンアップしちみました。