后台登录部分,是库包fecadmin,代码为:https://github.com/fecshop/yii2_fec_admin
fecshop对这个代码进行了重写,详细参看:
@fecshop/app/appadmin/config/modules/Fecadmin.php
'controllerMap' => [
'login' => [
'class' => 'fecshop\app\appadmin\modules\Fecadmin\controllers\LoginController',
],
打开:fecshop\app\appadmin\modules\Fecadmin\controllers\LoginController ,即可看到代码内容,这里不粘贴了
本地如何重写?
1.重写view文件,layout文件
直接使用fecshop的多模板机制即可
打开本地模板文件路径:@appadmin/theme/local/theme01/
, 在里面新建相应的view文件即可,
如果重写layout文件,就在 ./layouts
下面新建相同名称的layout文件即可。
fecshop的多模板机制会有限加载本地模板路径的文件。
2.重写controller
后台登录部分的重写,借助于controllerMap来完成
打开配置文件 @appadmin/config/fecshop_local_modules/Fecadmin.php
在fecadmin
数组中添加
'controllerMap' => [
'login' => [
'class' => 'appadmin\local\local_modules\fecadmin\controllers\LoginController',
],
],
然后新建文件@appadmin\local\local_modules\fecadmin\controllers\LoginController.php
<?php
/**
* FecShop file.
*
* @link http://www.fecshop.com/
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
namespace appadmin\local\local_modules\fecadmin\controllers;
use Yii;
use yii\helpers\Url;
use fecshop\app\appadmin\modules\AppadminController;
use fecshop\app\appadmin\modules\Fecadmin\controllers\LoginController as FecLoginController;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
*/
class LoginController extends FecLoginController
{
public function init()
{
parent::init();
Yii::$service->page->theme->layoutFile = 'my.php';
}
//public function actionIndex()
//{
//$this->layout = "my.php";
// echo 3;exit;
//}
}
Yii::$service->page->theme->layoutFile = 'my.php';
,代表更改layout文件
,然后新建这个layout文件即可