Skip to content

Instantly share code, notes, and snippets.

@mcantelon
Created September 14, 2010 06:52
Show Gist options
  • Save mcantelon/578650 to your computer and use it in GitHub Desktop.
Save mcantelon/578650 to your computer and use it in GitHub Desktop.
<?php
//$Id: views-views-json-style-simple.tpl.php,v 1.1.2.4 2010/07/15 07:34:48 allisterbeharry Exp $
/**
* @file views-views-json-style-simple.tpl.php
* Default template for the Views JSON style plugin using the simple format
*
* Variables:
* - $view: The View object.
* - $rows: Hierachial array of key=>value pairs to convert to JSON
* - $options: Array of options for this style
*
* @ingroup views_templates
*/
$jsonp_prefix = $options['jsonp_prefix'];
if ($view->override_path) {
// We're inside a live preview where the JSON is pretty-printed.
$json = _views_json_encode_formatted($rows);
if ($jsonp_prefix) $json = "\$_GET['$jsonp_prefix']($json)";
print "<code>$json</code>";
}
else {
$json = json_encode($rows);
if ($jsonp_prefix) $json = $_GET[$jsonp_prefix] ."($json)";
if ($options['using_views_api_mode']) {
// We're in Views API mode.
print $json;
}
else {
// We want to send the JSON as a server response so switch the content
// type and stop further processing of the page.
$content_type = ($options['content_type'] == 'default') ? 'application/json' : $options['content_type'];
drupal_set_header("Content-Type: $content_type; charset=utf-8");
print $json;
//Don't think this is needed in .tpl.php files: module_invoke_all('exit');
exit;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment