Определите расширение Yii-Booster в файле конфигурации

Я новичок в этом, я скачал виджеты Yii-Booster для использования TBRelationalColumn.

Я загрузил расширения из файла yiibooster.clevertech.biz yiibooster-4.0.1.zip и распаковал в

protected/extensions/booster

Конфигурация protected/config/local.php и main.php

  <?php
    Yii::setPathOfAlias('booster', dirname(__FILE__).'/../extensions/booster');
    Yii::setPathOfAlias('bootstrap', dirname(__FILE__).'/../extensions/bootstrap');   
    return array(
        'components'=>array(
            'db' => array(              
            ),
                'mongodb' => array(
            'class'            => 'EMongoDB',         
          ),
           'booster'=>array(
                'class'=>'booster.components.Booster',
                'coreCss' => true,
                'responsiveCss' => true,
                'yiiCss' => true,

            ),
            'bootstrap'=>array(             
               'class'=>'bootstrap.components.bootstrap',
                'coreCss' => true,
                'responsiveCss' => true,
                'yiiCss' => true,
            ),

            'cache'=>array(
                'class' => 'CFileCache',
            ),
        ),
    );

Когда я использую этот виджет, я получаю структуру сетки, но js не включает index.php

$this->widget('booster.widgets.TbExtendedGridView', array(
        'id' => 'invite-grid',
        'type' => 'striped condensed',
        'dataProvider' => $arrayDataProvider,      
        'columns' => array(
            'id',
            'username',
            'email',
            array(
                'class' => 'booster.widgets.TbRelationalColumn',
                'name' => 'test',
                'value' => '"grid"',
                'url' => $this->createUrl('site/relational'),
                'afterAjaxUpdate' => 'js:function(tr,rowid,data){
bootbox.alert("I have afterAjax events too!<br/>This will only happen once for row with id: "+rowid);
}'
            ),                        
            )
    ));

Когда я нажимаю на сетку, я не могу получить предупреждающее сообщение. Пожалуйста, помогите мне решить эту проблему


person Silviaa    schedule 23.09.2014    source источник


Ответы (1)


Вы его не загружаете. Если вы используете boostrap на всех страницах, предварительно загрузите его из конфигурации,

return array(
    'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
    'name'=>'My Site',

    'preload'=>array(
        'log',
        'bootstrap', //preload bootsrtap
        ),

В противном случае вы можете добавить его отдельно для каждого контроллера, используя фильтр.

public function filters()
    {
        return array(
            'accessControl', 
            array('ext.booster.filters.BootstrapFilter') //load bootstrap
        );
person redGREENblue    schedule 23.09.2014
comment
Проверьте консоль (chrome/ff) и посмотрите, есть ли у вас странные ошибки js/network. - person redGREENblue; 24.09.2014