我想用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