YiiでmoduleにBootstrapまたは他のコンポーネントを単独でロードする4つの方法

2711 ワード

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();
    }