Yeshop登录注册 - 2 [文档]

作者:下班闪电去打卡 发布于:2016-09-27 浏览:206次 收藏

上一篇说到如何下载安装和使用扩展,那么这次就说说如何在不直接改变插件原代码的情况下,实现个性化定制。


个性化界面

定制界面无非是修改试图文件, 原本插件的‘视图路径’指向的是插件所在文件夹下的views, 执行一下配置后

'modules' => [
    'user' => [
      'class' => 'star\dek_user\Module',
     ......
],

‘视图路径’的指向就变了(请参考:http://www.yii-china.com/doc/detail/3.html?postid=417  第三点)。

如此修改后,就已经把视图文件的加载路径变更掉了,这样我们就能随意修改增加视图文件,既实现了自定义界面还支持主题切换功能,为了学习大家也可以修改为其他路径。做法有多种,这里说一种:

设置方式:

namespace star\dek_user;

use Yii;
use dektrium\user\Module as baseModule;
use star\dek_user\models\User;

class Module extends baseModule
{
    public function init() {
        //$this->setViewPath('@vendor/dektrium/yii2-user/views');
        $this->setViewPath('@theme/custom/views'); 
    }
}


个性化功能

定制功能无非呢是修改控制器,同样的为了不直接在插件原代码上做修改,我们要变更控制器的命名空间。设置命名空间的方式也有多种,下面说两种

//方式1
namespace star\dek_user;

use Yii;
use dektrium\user\Module as baseModule;
use star\dek_user\models\User;

class Module extends baseModule
{
    public $controllerNamespace = 'dektrium\user\controllers';
}
//方式2
'modules' => [
    'user' => [
      'class' => 'star\dek_user\Module',
      'controllerNamespace' => 'dektrium\user\controllers'
],


修改控制器命名空间后, 就可以在新的空间里创建控制器了,新控制器或继承插件原控制器,或继承yii\web\controller,或其他等方式,总之剩下的就是自由发挥了。

如果文章对您有所帮助,希望继续支持我们,您的支持是我们最大的动力 ¥打赏
标签: Yeshop dektrium user 个性化
声明:文章内容由作者原创或整理,未经允许,不得转载!
您需要登录后才可以评论。登录 | 立即注册