Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@malcomio
Last active December 21, 2015 23:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save malcomio/6386306 to your computer and use it in GitHub Desktop.
Save malcomio/6386306 to your computer and use it in GitHub Desktop.
Drupal 7 View to display top artist images from a last.fm audioscrobbler feed. Depends on the following modules: Views Views XML Backend
$view = new view();
$view->name = 'last_fm_artists';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'xml';
$view->human_name = 'Last.fm artists';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Last.fm artists';
$handler->display->display_options['use_more_always'] = FALSE;
$handler->display->display_options['access']['type'] = 'none';
$handler->display->display_options['cache']['type'] = 'time';
$handler->display->display_options['cache']['results_lifespan'] = '518400';
$handler->display->display_options['cache']['results_lifespan_custom'] = '0';
$handler->display->display_options['cache']['output_lifespan'] = '518400';
$handler->display->display_options['cache']['output_lifespan_custom'] = '0';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['xml_file'] = 'http://ws.audioscrobbler.com/2.0/user/malcomio/topartists.xml?period=3month';
$handler->display->display_options['query']['options']['row_xpath'] = '//artist';
$handler->display->display_options['query']['options']['show_errors'] = 1;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'some';
$handler->display->display_options['pager']['options']['items_per_page'] = '30';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['style_plugin'] = 'grid';
$handler->display->display_options['style_options']['columns'] = '3';
$handler->display->display_options['row_plugin'] = 'fields';
/* Header: Global: Text area */
$handler->display->display_options['header']['area']['id'] = 'area';
$handler->display->display_options['header']['area']['table'] = 'views';
$handler->display->display_options['header']['area']['field'] = 'area';
$handler->display->display_options['header']['area']['content'] = '<a href="http://www.last.fm/user/malcomio/"><img src="/sites/all/themes/redroute/images/lastfm_red.gif"></a> <span>Most listened artists in the last 3 months</span>';
$handler->display->display_options['header']['area']['format'] = '2';
/* Field: name: Text */
$handler->display->display_options['fields']['text']['id'] = 'text';
$handler->display->display_options['fields']['text']['table'] = 'xml';
$handler->display->display_options['fields']['text']['field'] = 'text';
$handler->display->display_options['fields']['text']['label'] = '';
$handler->display->display_options['fields']['text']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['text']['xpath_selector'] = 'name';
$handler->display->display_options['fields']['text']['multiple'] = 0;
/* Field: image[@size='large']: Markup */
$handler->display->display_options['fields']['markup']['id'] = 'markup';
$handler->display->display_options['fields']['markup']['table'] = 'xml';
$handler->display->display_options['fields']['markup']['field'] = 'markup';
$handler->display->display_options['fields']['markup']['label'] = '';
$handler->display->display_options['fields']['markup']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['markup']['xpath_selector'] = 'image[@size=\'large\']';
$handler->display->display_options['fields']['markup']['multiple'] = 0;
$handler->display->display_options['fields']['markup']['format'] = '2';
/* Field: url: Text */
$handler->display->display_options['fields']['text_1']['id'] = 'text_1';
$handler->display->display_options['fields']['text_1']['table'] = 'xml';
$handler->display->display_options['fields']['text_1']['field'] = 'text';
$handler->display->display_options['fields']['text_1']['label'] = '';
$handler->display->display_options['fields']['text_1']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['text_1']['xpath_selector'] = 'url';
$handler->display->display_options['fields']['text_1']['multiple'] = 0;
/* Display: Block */
$handler = $view->new_display('block', 'Block', 'block');
$handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
$handler->display->display_options['defaults']['fields'] = FALSE;
/* Field: name: Text */
$handler->display->display_options['fields']['text']['id'] = 'text';
$handler->display->display_options['fields']['text']['table'] = 'xml';
$handler->display->display_options['fields']['text']['field'] = 'text';
$handler->display->display_options['fields']['text']['label'] = '';
$handler->display->display_options['fields']['text']['exclude'] = TRUE;
$handler->display->display_options['fields']['text']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['text']['xpath_selector'] = 'name';
$handler->display->display_options['fields']['text']['multiple'] = 0;
/* Field: url: Text */
$handler->display->display_options['fields']['text_1']['id'] = 'text_1';
$handler->display->display_options['fields']['text_1']['table'] = 'xml';
$handler->display->display_options['fields']['text_1']['field'] = 'text';
$handler->display->display_options['fields']['text_1']['label'] = '';
$handler->display->display_options['fields']['text_1']['exclude'] = TRUE;
$handler->display->display_options['fields']['text_1']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['text_1']['xpath_selector'] = 'url';
$handler->display->display_options['fields']['text_1']['multiple'] = 0;
/* Field: image[@size='large']: Text */
$handler->display->display_options['fields']['text_2']['id'] = 'text_2';
$handler->display->display_options['fields']['text_2']['table'] = 'xml';
$handler->display->display_options['fields']['text_2']['field'] = 'text';
$handler->display->display_options['fields']['text_2']['label'] = '';
$handler->display->display_options['fields']['text_2']['exclude'] = TRUE;
$handler->display->display_options['fields']['text_2']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['text_2']['xpath_selector'] = 'image[@size=\'large\']';
$handler->display->display_options['fields']['text_2']['multiple'] = 0;
/* Field: Global: Custom text */
$handler->display->display_options['fields']['nothing']['id'] = 'nothing';
$handler->display->display_options['fields']['nothing']['table'] = 'views';
$handler->display->display_options['fields']['nothing']['field'] = 'nothing';
$handler->display->display_options['fields']['nothing']['label'] = '';
$handler->display->display_options['fields']['nothing']['alter']['text'] = '<a href="[text_1]" title="[text]"><img src="[text_2]"/></a>';
$handler->display->display_options['fields']['nothing']['element_label_colon'] = FALSE;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment