Toplist.forArtist
アーティスト別の上位 10 曲を取得する関数を使用できます。
次のコードは、アーティストの上位 10 曲をフェッチし、リスト ビューとプレーヤーをレンダリングします。
require(['$api/toplists#Toplist', '$views/list#List', '$views/image#Image'],
function(Toplist, List, Image) {
var artist = models.Artist.fromURI('spotify:artist:2qk9voo8llSGYcZ6xrBzKx');
var toplist = Toplist.forArtist(artist);
// fetch the 10 most played tracks
toplist.tracks.snapshot(0, 10).done(function(tracks) {
// create temporary playlist
models.Playlist
.createTemporary('myTempList')
.done(function(playlist){
playlist.load('tracks').done(function(){
for (var i = 0, l = tracks.length; i < l; i++) {
var track = tracks.get(i);
playlist.tracks.add(track);
}
// append a list view
var listWrapper = document.getElementById('list-wrapper');
var list = List.forPlaylist(playlist);
listWrapper.appendChild(list.node);
list.init();
// append a player
// note that you might have a grey placeholder
// see https://stackoverflow.com/questions/17477655
var playerWrapper = document.getElementById('player-wrapper');
var player = Image.forPlaylist(playlist, {player: true});
playerWrapper.appendChild(player.node);
});
});
});
});
JS コードは、ビューを含む 2 つのプレースホルダーを参照します。
<div id="list-wrapper"></div>
<div id="player-wrapper"></div>
一時プレイリストのモザイク カバー画像に問題があるため、デフォルトのカバー プレースホルダーを別の画像に置き換える必要がある場合があることに注意してください。