トップページのサイドバーに、最近購入したモノを最新10件表示するようにしてみました。以前は手作業で10件以上になったら一件削除とかやってたりして非常にめんどくさかったんですが、今回出来るだけ楽できるように手をつくしてみて何とか成功しました。
ちなみに用意するものは Nucleus のプラグイン NP_NewsfeedEX*1 と、sb と、Sleipnir2用のAmazon情報取得スクリプト、と三種類も必要ですが、一度準備してしまえばかなり楽です。
- 注1 : プラグイン本体のダウンロードはリンク先の上部のタブみたいなところのDownloadってとこからできます。
まず、Sleipnir2用のAmazonTagスクリプト3を用意してください。デザイン用のXSLファイルですが、今回は画像とタイトルにリンクがはられる、ってシンプルな感じにしてみました。ウチのサイトと同じでいいや、って人はここからダウンロードしてください。自分用のXSLファイルをアップして、スクリプトが使えることをまず確認しましょう。
その次に sb で、Amazon商品投稿専用サイトを作ります*2。普通に設置すれば、タイトルもデザインも適当でいいです。このサイトのRSSを取得してきたいだけなので、新規記事にさっきのスクリプトで得られたタグをペーストして発行、ってやればOKです。記事のタイトルは後述する NP_NewsfeedEX を改造すれば無くても大丈夫ですが、不安な人はまずはタイトルを「あ」でも「い」でも「虎眼 パンチラ」*3でも何でもいいので、空白でない文字を入れててください。
そして最後に Nucleus 用のRSS取得プラグインこと NP_NewsfeedEX を改造します。RSS上でタグが消えたりするので、何とか content:encoded の部分を取得しないといけないわけです。改造についてはまずこちらのサイトさんの記事の通りにやってみてください。そのあとで下記の部分を書き換えておけば取得可能です。
$ag_source = stripslashes(mb_convert_encoding($feeditem[ "ag:source" ],_CHARSET,"AUTO")); ↓ $ag_source = stripslashes(mb_convert_encoding($feeditem[ "content:encoded" ],_CHARSET,"AUTO"));
ag:sourceとかいらぬわ!という心意気でご利用お願いします。
function sax_data()内−260行付近− if (!function_exists('sax_data')) { function sax_data($parser, $data) { global $tag, $isItem, $contents, $isChannel, $i; if ($data != "\n" && $isItem) { switch ($tag) { case "title"; case "link": //----- case "dc:creator": case "content:encoded": //←この一文を追加 case "ag:source": case "dc:date": //----- case "description":
意味が良く分かってませんが、追加しないと動かなかったんで付けときましょ。
//if ($feeditem["title"] <> "") //$title = stripslashes(mb_convert_encoding($feeditem[ "title" ],_CHARSET,"AUTO")); ・・・中略 //}
sbで投稿するときにタイトルすら入れたくない、って人はタイトル関連のところをコメント化しておきましょう。
ここまでプラグインソースを改造してインストールしたら、管理画面の item format のところに<%itemSource%>とだけ書いておいて、サイトの任意の場所で sb サイトのRSSを読み込ませればOKです。
ここまでくれば、あとは「Amazonで検索、詳細ページでスクリプト実行、sbで新規記事にペーストして記事発行」という流れだけで、あと何件なのかとか整理しなくていいのでかなり楽です。これで感想とかますます書かなくなりそうですが、まぁ元から書いてないから問題ないですね。
コメント