2017-09-04 23 views
0

私はバックエンドでCSVダウンロードを統合したいと思います。 CSVファイルをサーバに保存する必要はありませんので、ダウンロード用の単純なアレイ間CSVです。TYPO3:バックエンドでのファイルダウンロード

TYPO3ではFALを使用するのが非常に面倒なので、私の問題には単純な解決策があるかどうかを知りたいと思います。 「ダウンロード」アクションを呼び出してダウンロードする「CSV文字列」を返すのと同じように?

私はダウンロードアクションにこのsolutionを使用しましたが、私はFALなしの解決策を探していて、サーバー上にファイルを保持しません。

+0

多分あなたはEX2:powermail from In2codeを見てみると、dbに格納されたデータのxls/csvエクスポートを含む – jokumer

+0

リストモジュールで表示可能なテーブルをエクスポートできることが分かりましたか?テーブルビューを入力するだけです(テーブル名をクリックするなど)。次に、CSVをダウンロードし、現在のテーブルのデータをエクスポートするための2つのボタンが表示されます。 –

答えて

1

FALを必要とせず、サーバーにファイルを保存する必要もありません。あなたは、ダウンロードのようなあなたの要求を処理するために、コンテンツタイプと気質のヘッダを設定し、あなたのコントローラにカスタムアクションを追加することができます。$dataは、例えばCSVエンコードされた配列に等しい

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; 
} 

さらに興味深いのは、ダウンロード可能なデータの種類です。データをダウンロードできるようにするには、header()を設定し、単純なデータ型を返す必要があります。

+0

完璧、ありがとう – user6800816

関連する問題