I've an API service callback function which ties up with its own module template to give an HTML output. As per my understanding, default content type of API output is application/json
, so I had to override it manually to text/html
.
However, I'm still getting a null
output always no matter whatever I try. How can I suppress this unwanted null
output?
custom_module.module
function api_callback_function($a) {
if (!headers_sent()) {
drupal_add_http_header('Content-Type', 'text/html');
}
print theme('custom_template_name_alias', array(
'b' => $a
));
return;
}
function custom_module_theme() {
$themes = array(
'custom_template_name_alias' => array(
'template' => 'something-only', // name of template file, sans file extension
'variables' => array(
'b' => NULL
),
)
);
return $themes;
}
something-only.tpl.php
<?php
$c = $variables['b'];
$path = drupal_get_path('module', 'custom_module');
global $base_url;
?>
<!doctype html><html class="no-js" lang="en">
<head>
<!-- HEAD related HTML code comes here -->
</head>
<body>
<div>Current value of variable 'b' = <?php echo $c; ?></div>
</body>
</html>
Try to replace return
to die()
in api_callback_function