くるくるウィジェットの検索機能を使ってみた

2011年11月07日 : タイトルと内容が一致していないこともあり、書き直しました。

Amazon のくるくるウィジェットの設置方法は2種類あり、ウィジェットのページから設定する方法と、ウィジェットコードのページから設定する方法があるのですが、検索機能が利用できるのはウィジェットコードによる方法なので、これについて記述しておきます。

外部リンクAmazon.co.jp ウィジェット―ウィジェットコード

くるくるウィジェットの検索機能の使用方法

ウィジェットコードのページに入ると、ウィジェットコードテンプレートには以下のように記述されています。

  • <script type='text/javascript'>
    • var amzn_wdgt={widget:'Carousel'};
    • amzn_wdgt.tag='アソシエイトID';
    • amzn_wdgt.widgetType='Bestsellers';
    • amzn_wdgt.searchIndex='VideoGames';
    • amzn_wdgt.browseNode='51550011';
    • amzn_wdgt.title='Amazon で売っているゲームのニューリリース';
    • amzn_wdgt.width='600';
    • amzn_wdgt.height='200';
    • amzn_wdgt.marketPlace='JP';
  • </script>
  • <script type='text/javascript' src='http://wms.assoc-amazon.jp/20070822/JP/js/swfobject_1_5.js'></script>

検索機能を使用するための変更

検索機能を使用する場合は、ウィジェットコードを以下の手順で変更します。

  1. amzn_wdgt.widgetType の値を SearchAndAdd に変更。
  2. 検索キーワードを設定する amzn_wdgt.keywords を追記して、キーワードとなる文字列を入れる。
  3. サーチ機能を使用する場合で、サーチ対象のカテゴリを指定しない場合は、amzn_wdgt.searchIndex の値は All に変更しましょう。

    ヘルプには全商品を対象とする場合 Blended とありますが、なぜか正常に機能しません。

    また、絞り込みも使用しないのなら、amzn_wdgt.browseNode も消去しましょう。

これで SearchAndAdd による検索機能を使用できるようになるのですが、そのままHTML上に貼ると記事によって keywords と titleの値をいちいち変更する事になります。

なので、amzn_wdgt.keywords と title の値を記事内から取得するように変更しておきます。

表示位置へ
  • <script type='text/javascript'>
    • var key=document.getElementById('key').innerHTML,amzn_wdgt={widget:'Carousel'};
    • amzn_wdgt.tag='アソシエイトID';
    • amzn_wdgt.widgetType='SearchAndAdd';
    • amzn_wdgt.searchIndex='All';
    • amzn_wdgt.keywords=key;
    • amzn_wdgt.title=key;
    • amzn_wdgt.width='幅';
    • amzn_wdgt.height='高さ';
    • amzn_wdgt.marketPlace='JP';
  • </script>
  • <script type='text/javascript' src='http://wms.assoc-amazon.jp/20070822/JP/js/swfobject_1_5.js'></script>
変数 key の値として取得する文字列に id を設定
  • <span id="key">任意の文字列</span>

書き換え前は、外部jsファイルから書き出していましたが、スクリプトが直列化してしまうので変更しました。

実際に使用してみると以下のようになります。
サンプルページ作成した Amazon インスタントストア表示ページ

ただ1つ問題があり、キーワードに引っかかる商品がなかったり売り切れの状態が続いている場合、検索結果に出ず関係のない商品が結果的に表示されてしまうようです。(1つ2つしか無い場合、残りは空白になります。)

スポンサードリンク

inserted by FC2 system