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!
Expand
To be truly useful to a Yii newbie, this article should contain a complete functioning example, including action mapping.
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.