Movable Typeに自作のyonda4 badgeをテンプレートモジュールで貼り付ける

先日こちら(MovableTypeに自作のTwitter Badgeをテンプレートモジュールで貼り付ける)の記事を頼りにMTで作ってるブログにtwitterの最新postを表示した。同じようにyonda4に記録した本のタイトルもMTで表示できないかなと思って、自分でjavascriptを書いてみた。

プログラミングのセンスはないので、至らないところがあれば各自修正してご利用ください。


まずyonda4のapiで取得できるJSONをリスト形式に加工するスクリプトを書きます。amazonアソシエイトのIDは自分のものに変えてください。
あとフォントサイズとか直に書いちゃってるので、うまくやってください。
yonda4の投稿ルールとして本のタイトルのあとは半角スペースで区切ってコメントが入っているのを想定してます。

yonda4.js


var associateId = "rj2001net-22";
function yonda4Callback(getbooks) {
var statusHTML = [];
for (var i=0; i<getbooks.value.items.length; i++){
var username = getbooks.value.items[i].user;
var descriptionString = "";
var descriptionArray = getbooks.value.items[i].description.split(" ");
if( 1 in descriptionArray ) { descriptionString = descriptionArray[1]; }
statusHTML.push('<li><a href="http://www.amazon.co.jp/exec/obidos/ASIN/' + getbooks.value.items[i].asin + '/' + associateId + '/">' + getbooks.value.items[i].title + '</a> <span style="font-size:85%">' + descriptionString + '</span></li>');
}
document.getElementById('yonda4_list').innerHTML = statusHTML.join('');
}

そしてフッターテンプレートに以下のように入れます。黄色の部分は自分のtwitterアカウントを入れます。またnumのところの数字が取得するタイトルの数なので自由に変えてください。

<script type="text/javascript" src="http://rj2001.net/js/yonda4.js"></script> 
<script type="text/javascript" src="http://yonda4.com/api/user/rikunaeiji?callback=yonda4Callback&num=5"></script> 

また本のタイトルを表示したいテンプレートに以下のように入れます。

<ul id="yonda4_list"></ul>

これでMTを再構築すれば表示されるはずです。
冒頭の記事ではMTのタグをうまく使って、badgeを表示するときだけフッターに上記javascriptがインポートされるようにしたりしてますので、参考に。


最近、技術的なことから興味が薄れていたんだけど、twitterを始めてみて、いろんなサービスが自由な発想で生みだされているのを知って、またちょっと興味が戻ってきたかもしれない。

トラックバック(0)

トラックバックURL: http://rj2001.net/mt/mt-tb.cgi/578

コメントする

最近読んだ本

 

アーカイブ

アイテム

  • IMG_0187.JPG
  • IMG_0186.JPG
  • IMG_0178.JPG
  • CA3D0144.JPG
  • CA3D0143.JPG
  • CA3D0131.JPG
  • CA3D0129.JPG
  • CA3D0133.JPG
  • 1208727717_61.jpg
  • 1206215628_153.jpg