I have been trying to find a way to capture the output (rendered view) of another action within the current action... something akin to output buffering.
The scenario is that I need to save a "snapshot" of a report. The data used in the report is ever-changing, and for whatever reason I need to actually save the view HTML rather than just a data array. I have created a snapshotAction(), and I want to somehow capture the output of the separate reportAction() within it. I don't want to render the reportAction() to the screen, I want it to render within my current action, before the action completes.
Is there any way to do this in ZF?
I am using something similar:
public function snapshotAction () {
$content = $this->view->action('run', 'report');
...etc...
}
There's a view helper called 'action' which may be helpful. You specify the controller and action and params and it returns the result. The helper creates a new dispatch loop so if you use it a lot it could have performance implications (I don't worry about performance until there's evidence that it's causing problems).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With