如何从同一模块重定向控制器

时间:2013-11-01 07:30:56

标签: php yii

  

我有一个模块是OfficeModule。在OfficeModule我有两个   控制器BranchController和BranchTypeController。还有两个型号   BranchModel和BranchTypeModel。还有两个视图文件。文件路径   是这样的:

     

保护\模块\办公室\控制器\ branchController.php

     

保护\模块\办公室\控制器\ branchtypeController.php

     

保护\模块\办公室\模型\ Branch.php

     

保护\模块\办公室\模型\ BranchType.php

     

我有一个模块文件:protected \ modules \ office \ OfficeModule.php

     

当我从网址打电话时   projectname.test.com/office/branch我想像这样重定向:   projectname.test.com/office/branchtype。现在我正在编写redirect()   

中的OfficeModule.php
public function beforeControllerAction($controller, $action){
  $controller->redirect(array('../branchtype'));
}

但它不起作用,无法重定向。有人请帮助我。非常感谢!

2 个答案:

答案 0 :(得分:2)

就是这样::))

public function beforeControllerAction($controller, $action)
{
  $getcontroller = Yii::app()->controller->id;
  if($getcontroller == 'branch'){
    $controller->redirect(array('/office/branchtype'));
  }
}

答案 1 :(得分:0)

尝试:

$controller->redirect(array('branchtype/index'));

它会重定向到模块的控制器branchtype和操作index。并且

$controller->redirect(array('/branchtype/index'));

重定向到应用控制器branchtype和操作index(模块外)