Я новичок в этом, я скачал виджеты 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);
}'
),
)
));
Когда я нажимаю на сетку, я не могу получить оповещение. Пожалуйста, кто-нибудь, помогите мне решить эту проблему
Вы не загружаете это. Если вы используете 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
);
Других решений пока нет …