**amazonkey.inc.php [#zc588b6c]
|RIGHT:100|LEFT:360|c
|~サマリ|PukiWikiページ名をAmazonのキーワードリンクに投入し、アマゾンのアソシエイトライブリンクを得る|
|~リビジョン|1.0|
|~対応バージョン|1.3.6|
|~投稿者|[[水橋希]]|
|~投稿日|&new{2004-02-11 (WED) 20:13:05};|

サイドメニューに、現在表示しているページ名の関連商品をAmazonから検索して表示するために作りました。~
Amazonのいう「一番強力なリンク」、いわゆる「キーワード型ライブリンク」なので、アマゾンの商品からヒットしたものがランダムで抜き出されて表示されます。

-&ref(amazonkey.inc.php);

***使用例 [#g67e6789]

 #amazonkey

***引数 [#k951254c]

なし

***コメント [#s3f718f0]
-[[reimy]] &new{2004-02-12 (THU) 00:27:42};
~&color(crimson){PukiWiki 1.4.2で使用する場合は、下記の部分を修正する必要があります。};
++<iframe>を使用しているため、プラグイン内で
 global $html_transitional;
 $html_transitional = TRUE;
を設定してください。パースエラーが発生します。
++<map>にname属性を使用しているため、プラグイン内で
 global $html_transitional;
 $html_transitional = TRUE;
を設定してください。パースエラーが発生します。
++<area>、<map>などのタグ名及び属性名が大文字になっているため、パースエラーが発生します。小文字に変更してください。
++<area>、<img>の閉じタグが必要です。パースエラーが発生します。
++<iframe>の属性値が引用符で囲まれていないため、パースエラーが発生します。引用符で囲んでください。
++<iframe>のsrc属性値で&が&amp;amp;になっていないため、パースエラーが発生します。&amp;amp;に修正してください。
++<area>のhref属性値で&が&amp;amp;になっていないため、パースエラーが発生します。&amp;amp;に修正してください。
-[[水橋希]] &new{2004-02-12 (THU) 01:04:32};
~ご指摘ありがとうございます。1と2については簡単に対応できますが、3~6については、アソシエイトセンターで生成されたHTMLをそのまま添付して出力とする安直な方法を取るのではダメだということですね。&br;一旦変数に読み込んだ後にHTMLの構造解析をかけて、変換をかけることになるでしょうか。&br;ただし、そこまでの工数をかける価値があるプラグインとはわたしには思えません。ご説明していただいた点をソースコード内に記述して、利用者に任せる、または実用プラグインとしては使用不可としてしまうのが妥当ということになりますでしょうか。&br;そのあたりはどうお思いになりますでしょう?
--[[reimy]] &new{2004-02-12 (THU) 01:08:28};
~3~6も簡単に修正できます。
       global $html_transitional;
       $html_transitional = TRUE;
 
       $linkhtml .= <<<EOD
 <iframe scrolling="no" frameborder="0" width="120" height="450" src="http://rcm-jp.amazon.co.jp/e/cm?t=$amazon_aid&amp;l=st1&amp;search=$r_page&amp;mode=$genre&amp;p=10&amp;o=9&amp;f=ifr"><table border="0" cellpadding="0" cellspacing="0" width="120" height="450"><tr><td><map name="boxmap10"><area shape="RECT" coords="4,437,115,450" href="http://rcm-jp.amazon.co.jp/e/cm/privacy-policy.html?o=9" alt="プライバシー ポリシー" /><area coords="0,0,10000,10000" href="http://www.amazon.co.jp/exec/obidos/redirect?tag=$amazon_aid&amp;path=tg/browse/-/489986" /></map><img src="http://rcm-images.amazon.com/images/G/09/extranet/associates/amzn_recommends/xproduct-skyscrapper120x450.gif" width="120" height="450" border="0" usemap="#boxmap10" /> </td></tr></table></iframe>
 <iframe scrolling="no" frameborder="0" width="120" height="450" src="http://rcm-jp.amazon.co.jp/e/cm?t=$amazon_aid&amp;l=st1&amp;search=$r_page&amp;mode=$genre&amp;p=10&amp;o=9&amp;f=ifr">
  <table border="0" cellpadding="0" cellspacing="0" width="120" height="450"><tr><td>
   <map name="boxmap10">
    <area shape="RECT" coords="4,437,115,450" href="http://rcm-jp.amazon.co.jp/e/cm/privacy-policy.html?o=9" alt="プライバシー ポリシー" />
    <area coords="0,0,10000,10000" href="http://www.amazon.co.jp/exec/obidos/redirect?tag=$amazon_aid&amp;path=tg/browse/-/489986" />
   </map>
   <img src="http://rcm-images.amazon.com/images/G/09/extranet/associates/amzn_recommends/xproduct-skyscrapper120x450.gif" width="120" height="450" border="0" usemap="#boxmap10" />
  </td></tr></table>
 </iframe>
 EOD;
	return $linkhtml;
 }
-[[水橋希]] &new{2004-02-12 (THU) 01:12:46};
~ソースコード内の注釈にもありますように、この内部に含まれるHTMLは、アマゾンのアソシエイトセンターで生成されるHTMLであり、各ユーザーが選択したデザインとパラメータ、さらに、アマゾンのデザイン追加などの要因によって記述が固定しないものなのです。
-[[reimy]] &new{2004-02-12 (THU) 01:17:46};
~設置者が自分で修正できないのであれば、PukiWiki 1.3.6でお使いください((PukiWiki 1.3.6(HTML 4.01 Transitional)でも<iframe>のsrc属性や<area>のhref属性の中の&は&amp;amp;にしないと本当は拙い。この部分の修正だけでも、アマゾンに要求したほうがいいと思う。))。
-[[水橋希]] &new{2004-02-12 (THU) 01:25:15};
~了解しました。HTMLを直接修正できない以上、1.4.2のプラグインとしては提供不可ですね。1.3.6にマークしなおしておきます。それでよろしいでしょうか。。
-[[reimy]] &new{2004-02-12 (THU) 01:42:22};
~アマゾンがXHTMLに対応していない以上、仕方ないですね。パースエラーはページ全体が表示されなくなる致命的なエラーですので…((MenuBarに入れると、全ページでパースエラーが発生するので、アクセス不能になってしまう。))
-[[reimy]] &new{2004-04-09 (FRI) 20:08:17};
~調べたところ、「この内部に含まれるHTMLは、アマゾンのアソシエイトセンターで生成されるHTMLであり、各ユーザーが選択したデザインとパラメータ、さらに、アマゾンのデザイン追加などの要因によって記述が固定しないもの」という[[水橋希]]さんの説明は誤りであることが判明しました。
~アマゾンのアソシエートセンターで生成されるHTMLを元に、XHTML 1.1に書き換えることで、PukiWiki 1.4系でも使用できます。具体的には、[[dev:PukiWiki/Plug-inの仕様#content_1_9]]参照。
-[[水橋希]] &new{2004-04-17 (SAT) 13:29:05};
~ご調査ありがとうございました。
-[[水橋希]] &new{2004-04-17 (SAT) 14:40:08};
~今示していただいたコードを読んでみたんですが、やはりアソシエーションで示されたサンプルを元に設置者がカスタマイズしないといけないのですよね。~
 わたしの「この内部に含まれるHTMLは、アマゾンのアソシエイトセンターで生成されるHTMLであり、各ユーザーが選択したデザインとパラメータ、さらに、アマゾンのデザイン追加などの要因によって記述が固定しない」という書き方にreimyさんが誤解なさるような部分があったようです。申し訳ありません。~
 「記述が固定しない」というのは、アソシエイトページでユーザーが希望する外見やキーワードの条件を入れてサブミットするとその時点でHTMLが生成されてくる、という意味で使ったつもりで、PukiWikiの実行時に生成される、というような意味ではありません。~
 いずれにしても、書き直し方についても明確なTipsを与えていただけたようで、大変に助かります。お気にかけていただきありがとうございました。~
 また、何かよいプラグインのアイディアがあったら持ち込ませていただきますので、その際にはご指導いただけると幸いです。~
-[[reimy]] &new{2004-04-17 (SAT) 17:27:01};
~具体例を[[reimy.com>れいみぃ:FrontPage]]のメニューバー下部に設置していますので、ご覧ください。Internet Explorerの場合はXHTML 1.0 transitionalの<iframe>で、IE以外のブラウザではXHTML 1.1の<object>で表示しています((Internet Explorerの<object>はダミーのスクロールバーが表示されてしまい、見た目がよくないので、IEの場合のみ、XHTML 1.0 transitionalにして<iframe>で表示するようにしました。))。
~この手法は、frameを使わずにページの一部に他のページを取り込んで表示する場合に応用できます。こうすれば、XHTML 1.1でvalidになります。
-frame等を直したのですが、なぜかページ全体が文字化けします。同じようなことは、起きていませんか? -- [[けん]] &new{2004-08-28 (土) 15:31:24};

#comment
//#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.3+ © 2001-2020 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.083 sec.

OSDN