私は、人々がイベントの場所を予約できるプロジェクトを持っています。数多くのイベントがあります。出席者を列挙したレポートを生成して、出席者がドアでチェックインできるようにするよう依頼されました。非常に多くのイベントがあるので、各イベント(CMS内)の編集フォームに「参加者レポート」ボタンを追加したいと思います。私はボタンを作成し、それは動作します。CMS EditFormからCSVを生成する
しかし、CSVでデータを取得する代わりに、(正しい)データがエコーされているかのようにCMSに表示されます。
は、ここに私の機能
パブリック関数getCustomersForEvent($データ、$フォーム){
$attendees = CustomerOrderLine::get()->filter(array("EventID" => $data["ID"]));
if(!$attendees){
return false;
}
$fileName = "report.csv";
$separator = ",";
$csvColumns = array("ID", "Description", "Customer");
$fileData = "";
foreach($attendees as $row){
$fileData .= $row->Event()->EventName . $separator;
$fileData .= $row->CustomerOrder()->Customer()->FirstName . " " . $row->CustomerOrder()->Customer()->Surname . "\n";
}
return SS_HTTPRequest::send_file($fileData, $fileName, 'text/csv');
}
私はこのhttp://www.silverstripe.org/community/forums/general-questions/show/15325を見て持っていたが、データはとにかくCMSにエコーです。
私が間違っていることを教えてもらえますか?私が言ったように、データは問題ありませんが、私はCSV OpenまたはSaveダイアログを取得していません。
おそらく出力のヘッダを設定してから、出力 –
を送信する必要があります。 。 ではなく、CMS上にテキストとして出力されます。 – user3769009