SearchEntries

対応バージョン:MovableType7

JavaScriptでの利用

更新日:2024.02.02

Data APIではJavaScriptのライブラリが用意されていて、JavaScriptから利用しやすくなっています。
SearchEntriesプラグインでも、JavaScriptで検索することができます。

ライブラリの読み込み

Data API本体のJavaScriptライブラリを読み込んだ後に、以下のscript要素で追加のライブラリを読み込みます。

<script type="text/javascript" src="http://your-host/path-to-mt/mt-static/plugins/SearchEntries/extension.js"></script>

メソッドの追加

Data APIのオブジェクトを初期化した後、「FJDataAPIEntryCategories.extendEndPoints(Data APIのオブジェクト)」のような文を実行して、メソッドを追加します。
例えば、Data APIのオブジェクトを変数apiに代入するなら、初期化の処理を以下のようにします。

api = new MT.DataAPI({
  baseUrl:  'http://your-host/path-to-mt/mt-data-api.cgi',
  clientId: 'example',
});
FJDataAPISearchEntries.extendEndPoints(api);

SearchEntriesメソッドで検索

次に、「searchEntries」というメソッドで、検索を行います。
基本的なJavaScriptの書き方は、以下のようになります。

var param = {
  templateName : 検索条件用のテンプレートモジュールの名前,
  templateBlogId : 検索条件用テンプレートモジュールがあるブログ(ウェブサイト)のID
};
api.searchEntries(param, function(response) {
  if (response.error) {
    エラー時の処理
  }
  検索結果に対する処理
});

検索条件用のテンプレートモジュールは、「基本的な使い方」の手順で、あらかじめ作成しておきます。
そして、そのテンプレートモジュールの名前とブログ(ウェブサイト)のIDを、Data APIにパラメータとして渡します。
検索に成功すると、searchEntriesメソッドの2つ目のパラメータのコールバック関数が実行され、結果がresponseに渡されます。
responseの内容は、Movable Type標準のlistEntriesメソッドの場合と同じです。

事例

以下のような場合があるとします。

Movable Typeのインストール先http://www.foo.com/mt/
ブログのID1
検索条件用テンプレートの名前DataAPI検索
検索結果に対する処理検索された記事のタイトルをul/liのリストにして、IDが「index-main」の要素に流し込む

この場合のJavaScriptのコードは以下のようになります。

api = new MT.DataAPI({
  baseUrl:  'http://www.foo.com/mt/mt-data-api.cgi',
  clientId: 'example',
});
FJDataAPISearchEntries.extendEndPoints(api);
var param = {
  templateName : 'DataAPI検索',
  templateBlogId : 1,
};
api.searchEntries(param, function(response) {
  if (response.error) {
    alert('検索時にエラーが発生しました。');
    return;
  }
  var html = '<ul>';
  for (var i = 0, j = response.items.length; i < j; i++) {
    html += '<li>' + response.items[i].title + '</li>';
  }
  html += '</ul>';
  jQuery('#index-main').html(html);
});
前へ
プラグインTOP
次へ
目次
test