アップデートこんばんは。旧称:AmazonアソシエイトWebサービス)が署名認証を含まないリクエストを一切処理しなくなりました。この影響で、ppBlogでの既存のアマゾンタグやアマゾン検索が動かなくなっています。それに対応させるための書き換えを遂行しました。一度読んで理解できる人はそういないだろうなぁ。APIですが、PHPのみで対応させるとなるとサーバー環境によっては実装が難しいかもしれません。基本的には、PHP5の環境でないと気軽に動きません。今や、PHP4の公式サポートも終了し、多くのレンタルサーバーではPHP5を提供していると思うので、さほど問題になることはないかも、とは思いますが。してPHP5が必要かというと、アマゾンのこのサービスは、sha256Wアルゴリズムのハッシュを生成する必要があるからです。PHP4な環境ではどうするか?もし、PHP4の環境でmhashライブラリーを組み込んでいるならOKです。このmhashライブラリー、非ウィンドウズなサーバー環境なら、最初から実装している気はします。ちなみに、自分のノートに構築したWindows下のXAMPPG環境では、mhashはデフォルトでは有効でなかったです(libmhash.dllを有効にすれば良いんでしょうけど)。この部分の処理は以下のようにしています。PHP4でsha256ハッシュを生成するための処理。class="alert">mhashライブラリーのサポートがないようです。サーバーの管理者にお問い合わせを。この新しいAPIに対応させるには、これから添付するamazon_associate.phpとmodules/amazon.inc.phpとutils.phpとで既存のやつを上書きすれば良いです。その後、管理画面の「各種ツール」→「アマゾンアソシエイト」で、新たに取得したアクセスキーとシークレットキーなどの設定をします。Noticeが出るかもしれませんが、設定をすすめていけばOKです。そのスクリーンショットを載せときますね。規定のジャンルの指定も出来るようにしてます。この画面にもあるように、従来のアソシエイトタグ(ppblog-22とか。トラッキングID)だけでは、もはや動きません。このAPIを利用するための2つのキーを入手して下さい。ちなみに、この新しいAPIに対応したデモサイトを作りました。基本的には、amazon_associate.phpでやってる処理と同じです。http://p2b.jp/demo/aws.php動作確認も兼ねて、この記事でアマゾンの商品を紹介しておきます。Nespressoのエスプレッソマシーンは、日本にいるときも使っていたのですが、フランスに来て暫くして、よりコンパクトなこれを買いました。ユーロだと安かったなぁ。使っているのはワインレッド色のやつですが。カプセル方式は、楽チンで良いです。数個前の記事で紹介した記事アクセスランキングですが、個別記事にアクセスした際には、表示されていませんでした。これは、$RANKINGという変数のグローバル宣言をしていないためという凡ミスでした。それを修正したutils.phpを添付しておきます。現状では、「最近のエントリー」で表示される記事数(つまり定数RECENT_ENTRIESの同じ数がリスト表示されますが、showRanking関数のこの部分を好きな数字に変えることでリストの表示数をコントロール出来ます。ようで、現状ではPHPのエラーが出るかと思います。これは、ソーシャルブックマークのアイコン表示を有効にしている場合です。これの対策としては、utils.phpに記述してある$SBM_LIST変数内を修正する必要があります。具体的には、この中の'はてなブックマーク'の部分、'b.hatena.ne.jp/entry/json/?url='を'api.b.st-hatena.com/entry.count?url='に書き換えます。JavaScriptこんばんは。前回の書き庫コメントでアップロードした画像のスライドショーの話が出ていたので。ブログのサイドバーでスライドショーを見せるブログパーツは結構あると思いますが、良く見かけるのはAdobeのFlashを用いて表示させる方法。これは純粋にJavaScriptを使うよりは、凝った演出が出来る傾向にあります。最近はモダンなブラウザではCanvas要素Gをサポートしているので、JavaScriptだけでも凝った演出が可能になってますけど(ppBlogでは、写真を回転させたりして表示できますが、この部分でCanvasを使っています)。単なる好みの問題ですが、サイドバーでスライドショーを見せる際に演出に凝りまくるのは、あまり好きでありません(特にFlash系)。スライドショーを見せるにしてもJavaScriptのみで動くシンプルなものが良いなぁ、と思いました。スクリプトは自前で用意したいところですが、画像切り替えのアルゴリズムなどを考えるとはまりそうなので、ここは既知のJavaScriptライブラリーを使うことにします。良さそうでしたので、これを使ってスライドショーを付けてみました。それを利用するだけです。確認出来ます(3paneのテーマであれば右側に表示される)で確認できます。簡単な設置手順を記しておきます。mediaRSSファイルが必要なので、それを作成するadmin.phpとmodules/mrss2.inc.phpをゲット。2」というメニューがあるので、それを選択。これでmediaRSSが作成される。表示させたいテーマのtemplate.phpに必要なJavaScript関連の記述をする。基本的にはこれで足ります。template.phpに記述するJavaScriptですが、先に挙げた小生のサイトでは、まず以下のようにして動作に必要なファイルをGoogleのサーバーから外部スクリプトとして呼び込んでいます。手に入れておくと良いでしょう。ような感じになります。このmediaRSSファイル読み込み時に起動する呼び出し関数は、以下のような記述です。グーグルのサイトにあるサンプルコードとほぼ同じです。google.setOnLoadCallback(load);これに対するHTMLの記述は以下のような感じです。これもtemplate.php内の記載になります。</div><!--#slideshow-->ここでは、インライン形式のスタイルシート指定にしていますが、勿論スタイルシートのCSSファイルで指定しても構いません。設置の参考にするには、上に挙げたデモサイトが分かりやすいかと思います。このスライドショーは、マウスが画像に載ると、そこで一時停止します(これはデフォルトの動作)。そのままクリックするとその画像が含まれる記事にリンクするようになっています(これはmediaRSSの内容による)。ppBlogに組み込めるように、admin.phpとmodules/mrss2.inc.phpを添付しておきますね。