[Yii Framework] Embed a view file of the class which implement the CAction.

In Yii, we can define an action class and ask the controller to instantiate it. And we always create ourselves actions class in rootPath/protected/extensions, and the view file we called in the actions class always are located in rootPath/protected/views/ControllerNAME or rootPath/themes/ThemeNAME/ControllerNAME, then when we use the same actions class in different controllers, we have to copy it from one controller to the other controller, so we also need the "same" view file work for us, here is an example.
Here is the structure of the files.
| | |~extensions/
| | | `~actions/
| | |   |~views/
| | |   | `-MyTestAction.php*
| | |   `-MyTestAction.php*

 

The view file MyTestAction.php is located in rootPath/protected/extensions/actions/views, The MyTestAction.php is located in rootPath/protected/extensions/actions

  

The view file: 

Hello, world! The view file is under ext.actions.views!

 

The actions files 

代码
class MyTestAction extends CAction
{
    
public function run()
    {
        
//The other code.
        $this->getController()->render('ext.actions.views.MyTestAction');//Please be aware of the string, it points to the path of the view file!
    }
}

 

Please see the details of how to create and use the actions.
Ok, that is all.

 

Have fun with Yii!

posted @ 2011-01-10 17:11 DavidHHuan 阅读(...) 评论(...) 编辑 收藏