我想用drupal 6模块输出csv文件。这是我拥有的代码,但是它在我的自定义主题中与其中的一部分一起被黑掉,其中一些在我的模块中。无论如何,我可以将它全部移到我的模块中吗?Drupal6 - 使用MENU_CALLBACK输出CSV
///////////////////////////
// csv.module <- a custom module
///////////////////////////
function csv_menu() {
$items = array();
$items['csv/results'] = array (
'page callback' => 'csv_results_page',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
function csv_theme() {
$items = array();
$items['csv_results'] = array(
'arguments' => array(),
);
return $items;
}
function csv_results_page() {
return generate_csv_results();
}
function theme_csv_results() {
return generate_csv_results();
}
function generate_csv_results() {
return "header1,header2,header3,header4\nval1,val2,val3,val4\n";
}
//////////////////////////////
// page-csv-results.tpl.php <- in my theme. I would like it all contained in the module.
//////////////////////////////
<?php
//!TODO: Change Content Type Header
print theme('csv_results');
编辑
下面是一个类似的问题,任何一个国家的更新版本。感谢chx!
///////////////////////////
// csv.module <- a custom module
///////////////////////////
function csv_menu() {
$items = array();
$items['csv/results'] = array (
'page callback' => 'csv_results_page',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
function csv_results_page() {
//Take a look at the Nikit's response on header stuff. This might be incorrect.
header('Content-Type: text/x-comma-separated-values');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private',false); // required for certain browser
print generate_csv_results();
}
function generate_csv_results() {
return "header1,header2,header3,header4\nval1,val2,val3,val4\n";
}
我会试试这个,因为它更接近我想要做的事情。现在有一个ajax消息可以访问静态CSV,并且需要动态。 – Tobias 2011-02-17 16:58:12
对不起,花了这么长时间来标记这是一个答案。我刚开始测试它并修复模块。再次感谢! – Tobias 2011-02-23 16:15:09