ライブリンク

実現したいHTML

  • 本 キーワード「料理」728×90
    <iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hinatamitsuru-22&o=9&p=48&l=st1&mode=books-jp&search=
    %E6%96%99%E7%90%86&fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" marginwidth="0" marginheight="0" 
    width="728" height="90" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>
  • ミュージック J-POP 728×90
    <iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hinatamitsuru-22&o=9&p=48&l=bn1&mode=music-jp&browse=
    569170&fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" marginwidth="0" marginheight="0" 
    width="728" height="90" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>
  • ミュージック クラシック 728×90
    <iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hinatamitsuru-22&o=9&p=48&l=bn1&mode=music-jp&browse=701040
    &fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" marginwidth="0" marginheight="0" 
    width="728" height="90" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>
  • 本 コンピュータ・インターネット 728×90
    <iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hinatamitsuru-22&o=9&p=48&l=bn1&mode=books-jp&browse=466298
    &fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" marginwidth="0" marginheight="0" 
    width="728" height="90" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>
  • 本 楽譜・スコア・音楽書 728×90
    <iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hinatamitsuru-22&o=9&p=48&l=bn1&mode=books-jp&browse=746102
    &fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" marginwidth="0" marginheight="0" 
    width="728" height="90" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>
  • 本 暮らし・健康・子育て 728×90
    <iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hinatamitsuru-22&o=9&p=48&l=bn1&mode=books-jp&browse=466304
    &fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" marginwidth="0" marginheight="0" 
    width="728" height="90" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>
  • ヘルス&ビューティー ベストセラー 728×90
    <iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hinatamitsuru-22&o=9&p=48&l=bn1&mode=hpc-jp&browse=160384011
    &fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" marginwidth="0" marginheight="0" 
    width="728" height="90" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>
    →こ、これはなぜこんなにアダルト色が漂ってるのだ。。。却下。
  • ホーム&キッチン 健康器具
    <iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hinatamitsuru-22&o=9&p=48&l=bn1&mode=kitchen-jp&browse=3895741
    &fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" marginwidth="0" marginheight="0" 
    width="728" height="90" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>
  • ホーム&キッチン 台所用品
    <iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=hinatamitsuru-22&o=9&p=48&l=bn1&mode=kitchen-jp&browse=13938501
    &fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" marginwidth="0" marginheight="0" 
    width="728" height="90" border="0" frameborder="0" style="border:none;" scrolling="no"></iframe>

違うところは、

  1. "mode=kitchen-jp"、"mode=books-jp"、"mode=hpc-jp"
  2. カテゴリだと"browse="、キーワードだと"search="。~  →それ以外にも違いがあった!
      カテゴリだと、"l=bn1"、キーワードだと、"l=st1"。(2007年3月6日に気づいた)
  3. "%E6%96%99%E7%90%86"は「料理」なんだな。。
     (ググッたらWikipediaの「料理」がヒットした。これ何のコードですか?)
     →UTF-8だ。ここ(2007/2/26)
  4. サイズは
    120x150:6 120x240:8 180x150:9 120x450:10  120x600:11 300x250:12
    468x60:13 160x600:14  468x240:15  468x336:16  350x600:30  728x90:48 
     →width="728" height="90"の箇所以外にも、"p=48"の部分が違った。(2007年3月6日に気づいた)

作ってみたPHP

ソース

2007年3月6日〜7日で書きました。

<?php
// 
//  amazonのライブリンク用プラグインです。
//  2007/03/7 日向充(http://hinata.la.coocan.jp/pukiwiki/?FrontPage)

define('PLUGIN_AMAZON_LIVE_USAGE', '#amazon_live(mode,howtofocus,focuskey,ad_size)' .
'<br> ' .
'<br>mode=kitchen-jp or books-jp or hpc-jp or .....' .
'<br>howtofocus=browse or search' .
'<br>focuskey:if howtofocus=browse then please input 569170,701040,466298,etc..' .
'<br>     if howtofocus=serch then please input keyword(UTF-8).' .
'<br>ad_size=6 or 8 or 9 or 10 or 11 or 12 or 13 or 14 or 15 or 16 or 30 or 48' .
'<br>--> ad_size:(ad_width,ad_height)=6:(120,150),8:(120,240),9:(180,150),10:(120,450)' .
'<br>                ,11:(120,600),12:(300,250),13:(468,60),14:(160,600)' .
'<br>                ,15:(468,240),16:(468,336),30:(350,600),48:(728,90)');
define('AMAZON_USER_ID','hinatamitsuru-22');

function plugin_amazon_live_convert()
{
    $output = '';
    $howtofocus2 = '';
    $ad_width = '';
    $ad_height = '';
    if (func_num_args() != 4) return PLUGIN_AMAZON_LIVE_USAGE;

    list($mode,$howtofocus,$focuskey,$ad_size) = func_get_args();

    if ($mode == '' || $howtofocus == '' || $focuskey == '' || $ad_size == '') 
        return PLUGIN_AMAZON_LIVE_USAGE;

    if ($howtofocus == 'search'){$howtofocus2 = 'st';}
    elseif($howtofocus == 'browse'){$howtofocus2 = 'bn';}
    else{return PLUGIN_AMAZON_LIVE_USAGE;}

    switch ($ad_size){
        case 6:	$ad_width=120;$ad_height=150;break;
        case 8:	$ad_width=120;$ad_height=240;break;
        case 9:	$ad_width=180;$ad_height=150;break;
        case 10:	$ad_width=120;$ad_height=450;break;
        case 11:	$ad_width=120;$ad_height=600;break;
        case 12:	$ad_width=300;$ad_height=250;break;
        case 13:	$ad_width=468;$ad_height=60;break;
        case 14:	$ad_width=160;$ad_height=600;break;
        case 15:	$ad_width=468;$ad_height=240;break;
        case 16:	$ad_width=468;$ad_height=336;break;
        case 30:	$ad_width=350;$ad_height=600;break;
        case 48:	$ad_width=728;$ad_height=90;break;
        default:	return PLUGIN_AMAZON_LIVE_USAGE;
    }

    $output = '<iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=';
    $output = $output . AMAZON_USER_ID;
    $output = $output . '&o=9&p=' . $ad_size . '&l=' . $howtofocus2 . '1&mode=' . $mode . '&' . $howtofocus;
    $output = $output . '=' . $focuskey . '&fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" ';
    $output = $output . 'marginwidth="0" marginheight="0" width="';
    $output = $output . $ad_width . '" height="' . $ad_height . '" border="0" ';
    $output = $output . 'frameborder="0" style="border:none;" scrolling="no"></iframe>';
    return $output;
}
?>

ファイル

どぞ

使用例

PukiWikiのソース

#amazon_live(books-jp,search,%E6%96%99%E7%90%86,10)
#amazon_live(music-jp,search,%e6%b0%b4%e4%b8%ad%e3%80%81%e3%81%9d%e3%82%8c%e3%81%af%e8%8b%a6%e3%81%97%e3%81%84,12)
#amazon_live(music-jp,browse,569170,6)
#amazon_live(books-jp,search,%e6%88%91%e5%ad%ab%e5%ad%90%e6%ad%a6%e4%b8%b8,16)
~
#amazon_live(books-jp,hoge,%E6%96%99%E7%90%86,6)

※searchの場合のkeywordはここなどでUTF-8に変換してから引数に入れてください。
 本当は内部で変換するようにしたかったけど、大変そうなので、いつかのバージョンアップにたくすことにしました。

出力イメージ


#amazon_live(mode,howtofocus,focuskey,ad_size)
@
mode=kitchen-jp or books-jp or hpc-jp or .....
howtofocus=browse or search
focuskey:if howtofocus=browse then please input 569170,701040,466298,etc..
@@@@@if howtofocus=serch then please input keyword(UTF-8).
ad_size=6 or 8 or 9 or 10 or 11 or 12 or 13 or 14 or 15 or 16 or 30 or 48
--> ad_size:(ad_width,ad_height)=6:(120,150),8:(120,240),9:(180,150),10:(120,450)
@@@@@@@@@@@@@@@@,11:(120,600),12:(300,250),13:(468,60),14:(160,600)
@@@@@@@@@@@@@@@@,15:(468,240),16:(468,336),30:(350,600),48:(728,90)

コメント等

苦労した点

  1. コーディングミスを教えてくれない。
        $output = $output . '=' . $focuskey . '&fc1=000000&lt1=&lc1=3366FF&bg1=FFFFFF&f=ifr" ';
     の"."をひとつ抜かしていたら、#amazon_live()の結果が何も表示されなくなった。
      →エラーも何も表示されなかったので、各所をコメントアウトして切り分けした。
  2. カテゴリ、キーワードで、"st","bn"の違いもあるということに動かし始めてから気づいた。
  3. サイズの違いで"p=xx"という箇所も変更しなくてはいけないということに動かし始めてから気づいた。
     →仕様変更した。引数の数を変えた。
      ad_width,ad_heightではなく、p=xxの値を引数にして、縦、横は内部で設定することにした。

分かったこと

  1. 特になし。switch文をためしに使ってみた。
  2. あ、強いて言えば、上記に書いたコメントアウトしてデバッグしていく手法?
     (というか、たぶん常識。w)

2012年11月23日 トラッキングID変更

hinata-mitsurus-imac-2:plugin mitsuruhinata$ diff amazon_live.inc.php amazon_live.inc.php_20121123org 
16c16
< define('AMAZON_USER_ID','hogehoge-22');
---
> define('AMAZON_USER_ID','hinatamitsuru-22');

  • 知りませんでした。Amazonの広告でキーワードを入れるタイプがあるとは。あと、たぶん上の文字化けは、amazon_live.inc.phpの文字コード(s-jis)とここのwikiの文字コード(euc)が違うため発生していると思われます。ライブラリを置く場合は、その辺りも注意されると良いのではないでしょうか。 -- ブラキチ 2007-03-08 (木) 21:45:29
  • コメントありがとうございます。キーワード、便利ですよね。ページと関連する商品の広告を載せやすいです。
    文字化けは、表示をどの文字コードにしているときに出ましたか?こちらでは、表示されていないようです。。 -- 日向充 2007-03-12 (月) 16:03:10
  • このWikiはEUCなんですね。phpの文字コードを変更します。ありがとうございます。 -- 日向充 2007-03-12 (月) 16:04:50
  • あれ?Firefoxで見ると出ますが...IE7だと見えない...なぜ?不思議だ... -- ブラキチ 2007-03-12 (月) 22:01:37
  • あ、ブラウザ依存・・・?全角スペースをとりあえずやめてみます。''内の出力部分だったので、いいかと思ったのですが、確かにあまりよくないですね。。 -- 日向充 2007-03-15 (木) 01:11:05
  • XmyCpTwk -- Peyton? 2009-07-22 (水) 06:36:36
  • Iubptwqhmaad -- mtzwtfgsebc? 2009-07-23 (木) 01:39:45
  • lvawDLTbhqXZXqHuSev -- ofezuplqu? 2009-07-24 (金) 10:24:19
  • QuXSIhONET -- Yadiel? 2009-07-25 (土) 02:54:52
  • jTzPAhcSTRDTMNpwmCZ -- Rhett? 2009-07-25 (土) 17:01:38
  • ityAKQwvABqqZEgtz -- Todd? 2009-07-28 (火) 07:14:07
  • lZWPbQlUGZC -- Jameson? 2009-07-29 (水) 07:39:47
  • ltvICVQpdoUJ -- Zakary? 2009-07-30 (木) 23:31:32
  • mK7gb7 <a href="http://ootjetvwesgs.com/">ootjetvwesgs</a>, [url=http://fwxpwfbpjima.com/]fwxpwfbpjima[/url], [link=http://dxhbvrtuzapm.com/]dxhbvrtuzapm[/link], http://rzzkfxeiyvfl.com/ -- puqhgdb? 2010-03-15 (月) 16:09:13


PHPメモ


添付ファイル: fileamazon_live.inc.php 129件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-11-23 (金) 16:19:39 (2887d)