2017-09-04 85 views
0

文件下載我想在後臺一個CSV下載整合。 CSV文件不必保存在服務器上,因此只需簡單的Array-to-CSV即可下載。TYPO3:在後端

我知道使用FAL是TYPO3相當繁瑣,所以我想知道是否有我的問題的簡單解決方案。就像調用「下載」操作一樣,返回一個「CSV字符串」來下載?

我也用這個solution進行下載操作,但我找不FAL和不保持在服務器上的文件的解決方案。

+0

也許你會看看EXT:來自In2code的powermail,包括存儲在db中的數據的xls/csv導出 – jokumer

+0

你是否看到過你可以導出列表模塊中可見的任何表?只需輸入表格視圖(例如點擊表格名稱)即可。然後你會得到兩個按鈕來下載CSV並導出當前表的數據。 –

回答

1

無需FAL或保存在服務器上的文件。你可以在你的控制器,設置內容類型和部署頭對待你的要求就像一個下載添加自定義操作:

public function exportAction { 
    // Just an example on how you could access the downloadable data. 
    $records = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', 'tx_domain_model_table'); 
    $data = // modify the result to be a csv encoded string, json or whatever you want it to be. 

    header('Content-Type: text/x-csv'); 
    header('Content-Disposition: attachment; filename="download.csv"'); 
    header('Pragma: no-cache'); 

    return $data; 
} 

$data等於例如CSV編碼陣列。

更有趣的是,你想下載什麼樣的數據。爲了讓您的數據下載,設置header()的和返回任何簡單數據類型應該工作。

+0

完美,謝謝 – user6800816