お任せリンク

実現したいHTML

<script type="text/javascript"><!--
amazon_ad_tag = "hinatamitsuru-22"; amazon_ad_width = "728";  amazon_ad_height = "90";//--></script>
<script type="text/javascript" src="http://www.assoc-amazon.jp/s/ads.js"></script>
<script type="text/javascript"><!--
amazon_ad_tag = "hinatamitsuru-22";  amazon_ad_width = "120"; amazon_ad_height = "600";//--></script>
<script type="text/javascript" src="http://www.assoc-amazon.jp/s/ads.js"></script>

→違うのはサイズのところですね。

作ってみたPHP

ソース

規格外の数字をはじくような親切な処理は入れていません。
USAGEに全種類記述しているので、そのどれかを入力してください。

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

define('PLUGIN_AMAZON_OMAKASE_USAGE', '#amazon_omakase(ad_width,ad_height)' .
'<br>(120,600) or (120,240) or (160,600) or (180,150)' .
'<br>or (468,60) or (728,90) or (300,250) or (600,520)');
define('AMAZON_USER_ID','hinatamitsuru-22');

function plugin_amazon_omakase_convert()
{
    if (func_num_args() != 2) return PLUGIN_AMAZON_OMAKASE_USAGE;

    list($ad_width,$ad_height) = func_get_args();

    if ($ad_width == '' ||$ad_height == '' ) return PLUGIN_AMAZON_OMAKASE_USAGE;

    return '<script type="text/javascript"><!--' . "\n" .
    'amazon_ad_tag = "' . AMAZON_USER_ID .
    '";  amazon_ad_width = "' . $ad_width .
    '";  amazon_ad_height = "' . $ad_height .
    '";//--></script><script type="text/javascript" src="http://www.assoc-amazon.jp/s/ads.js"></script>';
}
?>

ファイル

どぞ

使用例

PukiWikiのソース

|>|#amazon_omakase(600,520)|#amazon_omakase(120,240)|#amazon_omakase(120,600)|#amazon_omakase(160,600)|
|#amazon_omakase(468,60)|>|#amazon_omakase(180,150)|>|#amazon_omakase(300,250)|
|>|>|#amazon_omakase(728,90)|>|~|

出力イメージ

コメント等

苦労した点

改行がはいらなかった。
具体的には、

<script type="text/javascript"><!--
amazon_ad_tag = "hinatamitsuru-22"; amazon_ad_width = "728";  amazon_ad_height = "90";//--></script>

となってほしかったのだけど、

<script type="text/javascript"><!--amazon_ad_tag = "hinatamitsuru-22"; amazon_ad_width = "728";  amazon_ad_height = "90";//--></script>

となっていたため、広告が表示されなかった。(これが原因であることは、それぞれをtxtでアップロードして確認)

直感的に、PHPソースの

	return '<script type="text/javascript"><!--' .

	return '<script type="text/javascript\n"><!--' .

としたら、"\n"がそのまま出力された。。orz
ググッたら、

なお、「\」を使った記述は、ダブルコーテションの中以外には使えません。シングルコーテーションで囲む場合には、「\\」と2つ続けて記述します。 

orz.......
こうした↓。

	return '<script type="text/javascript\\n"><!--' .

だめだった。
こうした↓。

	return '<script type="text/javascript"><!--' . "\n" .

これでOKだった。

分かったこと

  1. 苦労した点に書いた改行方法
  2. 出力はhtmlだから、やっぱり<br>とか使えるんだなぁ。
     数行に渡るUASAGEもOKだって分かった。

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

hinata-mitsurus-imac-2:plugin mitsuruhinata$ diff amazon_omakase.inc.php amazon_omakase.inc.php_20121123org 
9c9
< define('AMAZON_USER_ID','hogehoge-22');
---
> define('AMAZON_USER_ID','hinatamitsuru-22');
25c25




添付ファイル: fileamazon_omakase.inc.php 202件 [詳細]

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