Suggestion - renderAction?

(Vamphouse) #1

MVC and Ruby already have renderAction() method, but yii not yet… maybe it’s time? :rolleyes:

(Mh) #2

What does it do?

(Vamphouse) #3

Check this LINK and this LINK

(Chris De Kok) #4

I suppose same as Cake requestAction and ZF has something like that… mostly there is talk how bad they are because use so many resources… but i agree its pretty usefull in many cases where coding a widget is just double work.

(Y!!) #5

It runs a controller action, captures the output and then displays?

(Anandanirakesh) #6

That/s write it does the same thing:

Consider an example where in I want to render some UI based on some business logic as a partial within parent UI.

I needed this feature in my current portion of application I am developing. Basically I am rendering a page, while rendering a page, in one of the div I need to load list of folder so I just created a partial load_folder and tried using $this->renderPartial(‘load_folders’), but then I realized that load_folders should be an action so that it can go to DB and fetch folder information from table.

I am stuck here, trying to find some good solution to avoid violating MVC design. Anyone got suggestion?

(Vamphouse) #7

I’m not test this piece of my code, but maybe something like:

class Controller extends CController {

 private $_isChildAction=false;


  * @return boolean


 public function getIsChildAction(){

  return $this->_isChildAction;



  * @param boolean $value


 public function setIsChildAction($value){




  * @param string $actionID

  * @param string $controllerID

  * @param string $return

  * @return null|string


 public function renderAction($actionID,$controllerID,$return=false){












     return $output;


     echo $output;





  else if(null!==($ca=Yii::app()->createController($controllerID.'/'.$actionID))){




   return $controller->renderAction($actionID,$controllerID,$return);






(Y!!) #8

Is it no option to simply wrap $this->forward($controller, false)?