これは、Yii2でのグリッドビューの外観です。
<?php echo GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
...
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
グリッドを少し変更したいので、次の行を追加します。
tableOptions'=>['class'=>'table table-condensed'],
これはうまく機能しますが...
Yii 1では、これは次のようになります。
'widgetFactory' => array(
'widgets' => array(
'CGridView' => array(
'htmlOptions' => ['class'=>'table table-condensed']
),
),
),
ただし、Yii2にはウィジェットファクトリはありません。代わりに、メインの構成を見ると、これが機能することが期待されます。
'grid'=>[
'class' => 'yii\grid\GridView',
'tableOptions'=>['class'=>'table table-condensed'],
],
しかし、そうではありません。だから私は何が間違っているのですか?どんなヒントも大歓迎です。ありがとう!
Yii :: $ container-> set()を使用できます。
例えば:
// add following line in config/web.php and config/console.php
require __DIR__ . '/container.php';
// creates a config/container.php file and add following
\Yii::$container->set('yii\grid\GridView', [
'tableOptions' => [
'class' => 'table table-condensed',
],
]);
yii :: $ objectConfigはYii 2.0.0-betaで削除されました。
例(バージョン2.0.11以降):
$config = [
'id' => 'basic',
// ...
'container' => [
'definitions' => [
yii\grid\GridView::class => [
'tableOptions' => [
'class' => 'table table-condensed',
],
],
],
],
];
詳細情報: アプリケーション構成
Yii::$objectConfig = [
'yii\grid\GridView' => [
'tableOptions'=>['class'=>'table table-condensed']
],
];