Aggiornamento.
Purtroppo non la forward non va bene, restituisce ‘void’.
Vediamo se riesco a spiegare la situazione, perchè ancora non ho trovato soluzione, se non la duplicazione del codice, cosa che non voglio fare.
[b]
Riassunto: devo poter chiamare una action di un controller da dentro un secondo controller, il quale dovrà usare la stringa ritornata dall’action del primo
[/b]
segue la versione lunga:
Ho uno UsersController che raccoglie diversi dati usando User::model() e li ‘incrocia’ live per creare una specie di tabella pivot. Il motivo per cui non uso una vista, è che questa estrazione è configurabile da parte dell’utente, che quindi puo girare e rigirare i dati in svariati modi.
Finita la preparazione dei dati in memoria, viene invocato il render di un container che a sua volta usa il renderPartial per una lista parecchia customizzata e quindi fatta ‘a manina’ via html, che a sua volta esegue il renderPartial delle varie righe.
Ho poi un ActivityController che a fine mese di permette di stampare in pdf un ventina di pagine di dati presi tutti dalla tabella / modello Activity.
Mi è stato chiesto di accodare al pdf anche una particolare configurazione del report fatto dallo UserController, che sarà fisso.
Quindi necessito da ActivityController di poter eseguire il renderPartial di una delle viste di Activity, e questo so farlo, ma prima gli devo passare ed alaborare tutti i dati presi dal modello User.
Invece di duplicare il codice di User->actionPrintAnaliticalReport(… parametri …) vorrei inserire un ulteriore parametro, opzionale, alla chiamata. Così se è presente ed è true, invece di usare mpdf per stampare il pdf, fa semplicemente
return $this->renderPartial(... , true);
Io ho bisogno dentro ad ActivityController di poter fare qualcosa del tipo
$string .= UserController->actionPrintAnaliticalReport ( ... parametri ..., 'true')
....
A seguire mPdf trasforma la stringa in Pdf.