すべてのコントローラー アクションをインターセプトし、次の 2 つのいずれかを実行します (オプションに応じて - この例では、URL のクエリ文字列値を指定します)。
(1) テンプレートをレンダリングする代わりに、変数だけの配列を返す
(2) テンプレートを正確にレンダリングしますが、そのテンプレート内の「拡張」アクションは無視します
この理由は、同じサーバー側コードを使用すると、オプション 1 では Ajax リクエストなどの変数を返すだけで済み、オプション 2 では HTML の完全な部分ではなく (Ajax の場合) コンテンツ部分だけを返すことができるためです。ナビゲーションなどの HTML
コントローラーを拡張しようとしましたが、「Symfony\Bundle\FrameworkBundle\Controller\Controller と一致しない」という厄介な問題が発生し続けました。
イベントリスナーを使用してみましたが、これは私に近づいたようですが、コントローラーイベントをリッスンしても実際にコントローラーが実行されるとは思いません。
これは簡単なはずですよね?