LogicException in StreamedResponse.php line 124: The content cannot be set on a StreamedResponse instance.が発生しましたので共有いたします。

StreamedResponseにはcontentを設定できません!\Symfony\Component\HttpFoundation\StreamedResponseとはCSVダウンロードなどファイルのダウンロードの際に使用されるResponseの一種です。

StreamedResponse

通常のページでは\Symfony\Component\HttpFoundation\Responseという汎用レスポンスクラスが使用されています。

StreamedResponseの場合は、レスポンスの内容はバッファにたまっていきますので、直接$response->setContent($hoge)というようなことはできません。

EC_CUBEの場合、これが良く起こるのは間違いなくプラグインからの干渉です。プラグインではページへの表示内容を変更するために頻繁にresponse->setContentしますがStreamedResponseかどうかチェックしてからsetContentする必要がある場合も存在するということですね!

関連するカスタマイズ

Doctorineで設定できるフィールドタイプ... EC-CUBE3が採用しているSymfonyの標準ORM、Doctorineで設定できるフィールドタイプをまとめました。 EC-CUBE3で開発するならこれはもう覚えちゃっても良いかもしれませんね。 dcm.ymlやマイグレーションで頻繁に使いますからね。 stringやintegerのよ...
新しくテーブルを作ってエンティティと関連づける方法... 今回は非常に要望が多かった新しいテーブルを作ってエンティティとしてデータ取得をできるようにする方法をご紹介します。 この方法は3系のもので、まもなくリリースされるEC-CUBE4系では利用できませんのでご注意ください。 データベースの作成 ドクトリン定義ファイルの作成(dcm....
商品一覧のページネーションに「最初へ」「最後へ」を表示する方法... 商品一覧ページのページネーションはProduct/list.twigを見るとpagination.twigをインクルードすることで表示されています。 pagination.twigをのぞいて見ると「最後へ」の部分は次のようなコードが書かれています。 このリンクを表示するにはconfi...
ドクトリンで用いられるエンティティとレポジトリとは?... EC-CUBE3やEC-CUBE4で開発を行なっていると必ず耳にするのがドクトリンやエンティティ、レポジトリといったデータベース周りの用語です。 ECサイトはデータベースと密接に関係しているため、これらを用いずにEC-CUBEの開発を行うことは不可能です。 エンティティとレポジトリとは? ...