douzhan4522 2016-11-28 20:14
浏览 45
已采纳

Drupal 7 REST服务 - 抑制NULL的API输出

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. Can someone please help me 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>

Output

Output

  • 写回答

1条回答 默认 最新

  • dpv21589 2016-11-28 20:46
    关注

    Try to replace return to die() in api_callback_function

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?