牛骨文教育服务平台(让学习变的简单)
博文笔记

Yii中单独为module加载Bootstrap或其他组件的4种方法

创建时间:2014-03-06 投稿人: 浏览次数:1126

Bootstrap中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮、功能完备的网站。
但是有时候我们网站前台并不需要Bootstrap,只要管理后台使用Bootstrap,那么该如何单独为一个module加载Bootstrap呢?

这里有4中方法来实现这个:
1.在应用的配置文件中添加如下内容 (protected/config/main.php):

    "modules"=>array(
        "admin"=>array(
            "preload"=>array("<span class="wp_keywordlink_affiliate"><a href="http://lxy.me/tag/bootstrap" title="查看bootstrap中的全部文章" target="_blank">bootstrap</a></span>"),
            "components"=>array(
                "<span class="wp_keywordlink_affiliate"><a href="http://lxy.me/tag/bootstrap" title="查看bootstrap中的全部文章" target="_blank">bootstrap</a></span>"=>array(
                    "class"=>"ext.bootstrap.components.Bootstrap"
            )
        ),
    // ...其他模块...
    )    


2.在模块初始化时加载:

    public function init()
    {
        // import the module-level models and components
        $this->setImport(array(
            "admin.models.*",
            "admin.components.*",
            // "ext.bootstrap.components.Bootstrap", // this will go to app config for components
        ));
        Yii::app()->getComponent("bootstrap");// this does the loading
    }


3.模块初始化加载的另一种方法:

    public function init()
    {
        // import the module-level models and components
        $this->setImport(array(
            "admin.models.*",
            "admin.components.*",
        ));

        $this->configure(array(
                "components"=>array(
                    "bootstrap"=>array(
                        "class"=>"ext.bootstrap.components.Bootstrap"
                    )
                )
        ));
        $this->getComponent("bootstrap");
    }


4.模块加载时的另一种方法:

    public function init()
    {
        // import the module-level models and components
        $this->setImport(array(
            "admin.models.*",
            "admin.components.*",
        ));

        $this->configure(array(
                "preload"=>array("bootstrap"),
                "components"=>array(
                    "bootstrap"=>array(
                        "class"=>"ext.bootstrap.components.Bootstrap"
                    )
                )
        ));
        $this->preloadComponents();
    }


转载自: http://lxy.me/yii-separate-module-load-components.html

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。