マッシュアップサイト、というか、楽天APIを使って
商品を表示するphpスクリプトを作る話の最終回です。
さてここまで来て、最後に残った問題は、
htmlページにどうやってこのツールを組み込むかでした。
phpプログラムを動かすのですから、htmlページに直接、
phpコードを書き込む方法もあるんですが、
さすがにこれはトラブルの元。
プログラムはちょっと余分な文字が入ったりするだけで、
動かなくなってしまいますから、
ページ本体とは分離した方が安全です。
なので色々考えた結果、インラインフレーム・タグで
検索結果ページを呼び出す事を思いつきました。
インラインフレーム<iframe>というタグは、
簡単に言うと、ページの一部に窓を開けて、
そこに別のファイルを表示するタグです。
普通はhtmlファイルを呼び出して表示するわけですが、
実験してみるとphpファイルも呼び出せます。
なので検索キーワード情報などをくっつけて、
検索プログラムを呼び出せば、
検索結果が出てくるわけですね。
ジャバスクリプトに似た方法ですけど、これならうまく行きそう。
もしかしたら、htmlファイルのままタグだけ貼って
お薦め商品を表示する事も可能かも。
そしたら、どのサイトでも同じ事ができる。
ジャバスクリプト風の使い方ですね。
キーワードはUTF-8で、URLエンコードが必要
ただし結果から言うとこの方法、うまく行きませんでした。
というのも日本語でキーワードを指定しても、
上手く送る事ができなかったんです。
フォームで情報を送る場合(POSTメソッド)では、
自動的にキーワードなども変換して送ってくれます。
一方URLでリクエストする場合(GET)は、
自動で変換してくれないんです。
楽天のwebサービスのページにも書いてありますが、
キーワードはUTF-8コードにして、さらにURLエンコードして
送らないとダメなんですね。
なのでこれをphpで変換する必要があるんです。
具体的に書くと、
kensaku.php?keyword=グルコサミン
ではダメで、
グルコサミンのところは、
<?= urlencode(mb_convert_encoding('グルコサミン',"UTF-8","auto")); ?>
にしないといけません。
これはphpスクリプトですから、
ファイルの拡張子も.phpにしないと動きません。
で、4日ほど取り組んで、こんな感じになったわけです。
↓
http://oyaji.usa-tips.net/
アクアスには、サイトオプションで
拡張子を.phpにする事ができます。
また定型文に、このインラインフレームのタグを登録しておけば、
お薦め商品を表示したいページのどこでも商品表示ができます。
あきらめた機能も実は2~3あるんですが、
当初の目的は達成したように思います。
あとはこれで、楽天アフィリポイントが増やせるかどうかデスね。
稼げなければ、あんまり意味がないですし。
Pre >
マッシュアップ・サイトの作り方(4)
Next >
ヤフーショッピング・アフィリ、始めました