通常情況下,我會採用另一種方式。我通過hook_menu()
菜單路由器項來定義內容,而不是節點內容,因爲它很少直接用戶可編輯。如果有很多處理,您可以將其與.module分開,並將其作爲每個項目的file
。
/**
* Implementation of hook_menu().
*/
function MODULE_menu() {
$items = array();
$items['example/json'] = array(
'title' => 'JSON example',
'page callback' => '_MODULE_json',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
$items['example/xml'] = array(
'title' => 'XML example',
'page callback' => '_MODULE_xml',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* JSON example.
*/
function _MODULE_json($string = '') {
$data = array();
$data['something'] = 0;
$data['anotherthing'] = 1;
drupal_json($data);
}
/**
* XML example. No idea if this actually produces valid XML,
* but you get the idea.
*/
function _MODULE_xml($string = '') {
$data = array();
$data['different'] = 2;
$data['evenmore'] = 3;
// Build XML
$output = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
$output .= "<data>\n";
$output .= format_xml_elements($data);
$output .= "</data>\n";
// We are returning XML, so tell the browser.
drupal_set_header('Content-Type: application/xml');
echo $output;
}
感謝您的反饋。 – awolfe76
問題是,我們需要能夠經常更新,任何人都應該能夠做到。使用_menu是否允許項目可編輯? – awolfe76
它可以做到。在頁面回調中,你可以''node_load()'你想要的節點並返回它們純粹的$ node-> body內容。 – scronide