Amazon module の使い方

Last edited on 2012/07/07 (土) - 23:19
Amazon Nodeの画面例

Drupal にはAmazonのAPIを使ってAmazonから商品情報を取得・表示するモジュールがある。このサイトでも、CDや本などAmazonにある商品について書くときに、このAmazon moduleを使っている。

Amazon module についてはこちらに詳細なドキュメントがある

Amazon moduleを使うと、Using Drupalのページのような感じになる。ここでは評価用にFivestarというモジュールを組み合わせて使っている。

インストール

まず、それぞれのモジュールをインストールする。FivestarはVoting APIというモジュールが別途必要である。

このサイトでは Amazonの方はExample以外のすべてのコンポーネントを有効にしている。

Amazon APIなどの設定

次に、Amazon APIなどを設定する。サイトの環境設定→Amazon APIからLocale、API Keyと必要ならAssociate IDを設定する。Fivestarの方は、サイトの環境設定→Fivestarからデフォルトのデザインを設定する。星以外にハートや炎などがある。デザインはコンテンツタイプごとに設定することもできる。

新しいコンテンツタイプの追加

Amazon商品のレビュー用に新しいコンテンツタイプを追加する。名前は Amazon Nodeとでもしておく。新しいコンテンツタイプにフィールドを2つ追加する。一つはAmazonのProduct ID(ASIN)を入れるためのフィールドで、もう一つはRatingを入れるためのフィールである。それぞれのフィールドタイプをAmazon ItemとFivestar Ratingとする。

次にフィールドの設定をする。Amazon Itemの方は、「必須」にチェックをいれ、個数は1個にする。Fivestar Ratingの方は、「必須」にチェックをいれ、星の数は5個、投票の対象は「なし」にする。

フィールドの表示はAmazon Itemの方は、ラベルは「表示なし」、ティーザー、ノードとも「small image and basic info」 にしているが好みで決めればよい。rating の方はラベルは「表示なし」、表示は「スター表示」にしている。

Amazon Nodeコンテンツの作成

あとは、Amazon Nodeコンテンツを作成すればよい。Amazon Itemの<div>ブロックとRatingの<div>ブロックが本文の前に挿入される。位置をCSSで調整することもできる。編集画面は以下のようになる。

amazon編集画面

本文の前でなく、本文中にAmazonの商品画像や基本情報を挿入したい場合もある。そのような場合には、filter 機能を使う。本文中にマクロを挿入すればその部分にAmazonの商品情報が挿入される。もちろん、入力書式の設定でAmazonフィルターを有効にしておかなければならない。