More Related Content
Similar to JavaScriptテンプレートエンジンで活かすData API (20)
More from Hajime Fujimoto (20)
JavaScriptテンプレートエンジンで活かすData API
- 2. アジェンダ
• 自己紹介
• Data APIの概要
• JavaScriptテンプレートエンジンでData APIを活かす
• Handlebarsでの例
• Angular.jsでの例
• まとめ
2
- 4. 自己紹介その1
• 藤本 壱(ふじもと はじめ)
• 兵庫県伊丹市出身
• 群馬県前橋市在住
東京
埼玉
山梨
神奈川
栃木
茨城
千葉
4
富岡製糸場
世界遺産入り
ゆるキャラ
グランプリ
優勝
- 12. Data APIの登場
• 管理画面を使わずにMovable Typeのデータを操作する仕組み
• HTTPプロトコルでData APIにアクセス
• アクセスするアドレスとメソッドに応じて操作(REST)
• データの取得/作成/更新/削除が可能
• データはJSON形式で受け渡し
• 各種のプログラム言語でアクセス可能
• JavaScriptライブラリあり
• プラグインで拡張可能(事例はこの後のセッションで)
12
- 14. Data APIバージョン2.0が登場
• Movable Type 6.0ではバージョン1.0
• 利用頻度が特に高い機能だけ装備
• できないことも少なくなかった
• Movable Type 6.1でバージョン 2.0に進化
• 機能が大幅に増加
• Movable Typeの大半の部分をData APIで操作可能
• 詳しくは後の高山さんのセッションで…
14
- 28. ページ移動リンク出力用データの作成
28
o['mt:PagerBlock'] = [];
for (var i = 0; i < totalPages; i++) {
o['mt:PagerBlock'].push({
'mt:CurrentPage': i + 1,
'mt:IfCurrentPage': (i + 1 == page_num),
'mt:IfNotCurrentPage': (i + 1 != page_num),
'mt:IfMoreResults': (i < totalPages - 1),
'mt:IfPreviousResults': i > 1,
'mt:NextLink': '#/' + (i + 2),
'mt:PreviousLink': '#/' + i,
'mt:PagerLink': '#/' + (i + 1),
});
}
- 39. 記事の保存
39
var entry = {
title: $scope.mt.EntryTitle,
body: $scope.mt.EntryBody
};
DataAPI.updateEntry(<$mt:BlogID$>, $scope.entry_id,
entry, function(response) {
alert('記事を保存しました。');
});