MT Data API:アクセスランキング

以下の記事の補足になります。
詳説 Data API 2.0 Vol.6: アクセスデータからアクセスランキングを作成する

     'entry' => [
       'id' => $entry_id,
       'permalink' => $entry->permalink,
       'title' => $entry->title,
     ],

上記の項目を増やします。
以下が増やせる項目です。
Movable Type Data API v2 > Entries

以下の様に反映します。

     'entry' => [
       'id' => $entry->id,
       'permalink' => $entry->permalink,
       'title' => $entry->title,
       'date' => $entry->date,//公開日
       'img' => $entry->customFields,//カスタムフィールド
       'category' => $entry->categories,//カテゴリー
       'tags' => $entry->tags,//タグ
     ],

忘れちゃいけないのが以下にも追加する必要がある点です。

      . '?fields=title,permalink';

 ↓ ↓ ↓

      . '?fields=title,permalink,date,customFields,categories,tags';

出力するとこんな感じです。

[{"entry":{
  "id":123,
  "permalink":"https:\/\/ドメイン\/~.html",
  "title":"Unicodeエスケープシーケンスで出力",
  "date":"2019-10-18T17:41:04+09:00",
  "img":[
    {"basename":"MTで設定したベースネーム1(画像)","value":"<form mt:asset-id=\"123\" class=\"mt-enclosure mt-enclosure-image\" style=\"display: inline;\"><a href=\"https:\/\/ドメイン\/画像格納場所\/画像名\">画像名<\/a><\/form>"},
    {"basename":"MTで設定したベースネーム2(日付)","value":"2019-09-28"},
    {"basename":"MTで設定したベースネーム3(HTML)","value":""}
  ],
  "category":[{"id":カテゴリID,"label":"カテゴリ名:Unicodeエスケープシーケンスで出力","parent":"0"}],
  "tags":["タグ1:Unicodeエスケープシーケンスで出力","タグ2:Unicodeエスケープシーケンスで出力"]
},
"pageviews":"ページビュー数"}
]


Javascriptデータ引用例1:カスタムフィールドの画像

				var entryimage = e.img[0].value;//カスタムフィールドの画像
				if(entryimage == ''){//設定されていない場合
					var image2 = '共通で使用する「NotFound画像」';
				} else {//設定されていれば、カスタムフィールドの画像を表示する。
					var image = entryimage.replace(/<("[^"]*"|'[^']*'|[^'">])*>/g,'');
					var image2 = '<mt:OtherBlog><$mt:BlogURL$></mt:OtherBlog>images/' + image;
				}


Javascriptデータ引用例2:公開日

				var whatDay = e.img[1].value;//カスタムフィールドの日付
				if(whatDay == null){//設定されていない場合、公開日を表示
					var formattedDate = e.date.slice( 0, 4 ) + '年' + e.date.slice( 5, 7 ) + '月' + e.date.slice( 8, 10 ) + '日';
					var weekday1 = e.date.slice( 0, 10 );
					var today = new Date( weekday1 ) ;
					var weekday_list = [ '日', '月', '火', '水', '木', '金', '土' ] ;
					var weekday = '(' + weekday_list[ today.getDay() ] + ')';
					var day = '<time datetime="' +  e.date + '"> ' + formattedDate + weekday + '</time>';
				} else {//設定されている場合、「開催日:」として表示
               var Date1 = whatDay.slice(0, 4);
               var Date2 = whatDay.slice(5, 7);
               var Date3 = whatDay.slice(8, 10);
					var formattedDate = Date1 + '年' + Date2 + '月' + Date3 + '日';
					var weekday1 = whatDay.slice( 0, 10 );
					var today = new Date( weekday1 ) ;
					var weekday_list = [ '日', '月', '火', '水', '木', '金', '土' ] ;
					var weekday = '(' + weekday_list[ today.getDay() ] + ')';
					var day = '開催日: <time datetime="' +  whatDay + '"> ' + formattedDate + weekday + '</time>';
				}


Javascriptデータ引用例3:タグ

				var tagsCount = e.tags.length;
				if(tagsCount == 0){
					var tagsText = '';
               } else {
					var myClassItems = '<ul class="tags">';
					for (let n = 0; n < tagsCount; ++n) {  
						myClassItems += '<li><a href="/mt/mt-search.cgi?IncludeBlogs=28&tag=' + e.tags[n] + '&limit=20">' + e.tags[n] + '</a></li>';
					}
					var tagsText = myClassItems + '</ul>';

いいなと思ったら応援しよう!