mt-isbnlをハック、mt-isbn++に。

らぐなななさんの所の「MovableTypeのプラグイン」で紹介されているmt-isbn.plという物がある。
この土偶StaticRouteでも「本」カテゴリで使用しているもので、たとえば、エントリ中に
amazon ASIN-4784098933と書籍のISBNコードを入れると、
amazon ASIN-4784098933と言う風に、勝手にアマゾンの画像を表示して、更にアマゾンへの商品紹介ページへとリンクを張ってくれるという便利なものだが、便利ながらもいくつか不満点があった。
具体的には、
1,画像の読み込み元がアマゾンなので無駄にトラフィックが発生している。(はず)
2,アマゾンのイメージサイトが落ちると画像が表示されない。
3,古い本で、アマゾンに画像がない場合いかんともしがたい。
というものだ。
一番良いのは全て手動で自サイトにイメージを置いて、リンクだけアマゾンに張るというのが理想的なのだが、いちいちアップロードもタグ打つのも面倒くさいので、ずっとそのままにしていた。
もっと便利そうなプラグインを探してみたのだが、結局見つからず、昨日アマゾンのイメージサイトがダウンしたのを切っ掛けにamazon ASIN-xxxxxと入力するだけのインターフェイスはそのままに、mt-isbn.plをハックして欲しい機能をいくつか実装した。
手前味噌ながらも、思った以上の便利なプラグインになったので公開してみる。
いやー自分で言うのもなんやけど便利やわー


目玉機能としては
1,自動でアマゾンから該当画像をダウンロードしてキャッシュとして自サイトにコピー
2,画像の読み込み元は自サイトで、リンク先はアマゾン
3,アマゾンに画像がない場合に表示する画像を指定可能
4,アマゾンから持ってくる画像を大、中、小から選択可能
アマゾンに画像がない場合は こういう感じに表示されます。
必須条件:
Movabletypeが動作している
perl上からファイルをダウンロードするのにLWP::Simpleモジュールを使用しているので、これがインストールされていること。
インストールされていない場合、レンタルサーバーの場合は管理人に頼んでみて下さい。
自鯖の場合はcpan から install LWP::Simple で入るはず。
設置方法:
mt-isbnpp.pl をダウンロードしてMovabletypeのpluginsディレクトリに置く。
既にmt-isbn.plを設置している場合はこれを削除する。
mt-isbnpp.plの

#サムネイルの画像サイズを設定します。
#小 1 中 2 大 3
my $IMG_THUMB_S = “2” ;
#アマゾンの画像置き場URL 画像の所得元URL
my $RMT_URL = “http://images.amazon.com/images/P/”;
#自サーバー上の画像置き場URL(ブラウザ上から見た自サーバーのURL)
my $LOCAL_URL = “http://サイトのURL/img/isbn/”;
#自サーバーの画像置き場フルパス(実際のファイルへのパス)
#相対パスでなく、絶対パスで指定して下さい。
my $LOCAL_PATH= “/サイトイメージへのパス/img/isbn/”;
#アマゾンに画像がない場合の代替イメージのURL
my $NO_IMAGE_URL= “http://サイトのURL/img/isbn/no-image.png”;

の部分を自サイトにあわせた設定に書き換える。
当然/サイトイメージへのパス/img/isbn/のパーミッションは777とか707とかにしておいて下さい。
後は、らぐなななさんの所の「MovableTypeのプラグイン」を参考に
設定する。
・アマゾンに画像が無いけど、自分で画像を持っている場合は
ISBNコード.09.MZZZZZZZ.jpgと言う名前で(中サイズの場合)該当ディレクトリにアップロードしておけばちゃんと表示されます。
・「画像無し」用の画像は自分で用意するか、http://images-jp.amazon.com/images/G/09/icons/books/comingsoon_books.gif を使用すると良いかも。
ライセンスは GPLです。(って一回言いたかった…)

コメントする

メールアドレスが公開されることはありません。

PAGE TOP