利用父类的性质;未知属性”;php中的错误(yii2)


Using property of parent class gives "unknown property" error in php (yii2)

我正在使用yii2和Kartik的yii2-grid网格视图扩展。我在初始化GridView::widget时得到异常Setting unknown property: kartik'grid'GridView::autoIdPrefix。然而,kartik'grid'GridView的继承是yii'grid'GridView » yii'widgets'BaseListView » yii'base'Widget » yii'base'Component » yii'base'Object,而yii'base'Widget具有公共参数autoIdPrefix

我正在使用以下初始化:

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'autoIdPrefix' => 'igl_' . $model->id,
    'showHeader' => false,
    'columns' => [
        [ 'attribute' => 'language' ],
        [
            'class' => 'kartik'grid'EditableColumn',
            'attribute' => 'name',
            'value' => 'name',
            'editableOptions' => [
                'formOptions' => [
                    'action' => 'yii'helpers'Url::to(['/ingredient-group-lang'])
                ]
            ]
        ],
    ],
]); ?>

怎么了?

属性$autoIdPrefix是小部件类的静态属性,因此不由子类继承。如果你需要更改小部件的id,我建议直接设置,所以

<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'id' => 'igl_' . $model->id,
'showHeader' => false,
'columns' => [
    [ 'attribute' => 'language' ],
    [
        'class' => 'kartik'grid'EditableColumn',
        'attribute' => 'name',
        'value' => 'name',
        'editableOptions' => [
            'formOptions' => [
                'action' => 'yii'helpers'Url::to(['/ingredient-group-lang'])
            ]
        ]
    ],
],

]);?>