Yii 1.1: embed a view file of the class which implement the CAction.

2 followers

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!

Total 1 comment

#3590 report it
intel352 at 2011/04/20 11:48pm
Expand

To be truly useful to a Yii newbie, this article should contain a complete functioning example, including action mapping.

Leave a comment

Please to leave your comment.

Write new article