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?
Correctly answered by Benedict Cohen below, but I didn't realize it until I saw this usage in the ZF mailing list archives: How to render multiple action views?
I am using something similar:
public function snapshotAction () {
$content = $this->view->action('run', 'report');
...etc...
}