Проблема
Ваш код BackendUserController::extendFormFields
распространяется на все формы, которые находятся на вашем BackendUserController
.
Так что, чтобы убедиться, что есть2 формы
- Бэкэнд Форма пользователя
avatar
поля * \System\Models\File
С
Итак, ваш кодв основном добавляет поле image
к обеим формам, поэтому мы получаем ошибку для 2-й формы Model 'System\Models\File' does not contain a definition for 'image'.
Решение
Чтобы избежать этого, мыпросто нужно убедиться, что мы adding field
к correct model
, добавив condition
.
\Backend\Controllers\Users::extendFormFields(function($form, $model, $context) {
// Only for the backend User model we need to add this
if ($model instanceof \Backend\Models\User) { // <- add this condition
$form->addTabFields([
'image' => [
'label' => 'image',
'type' => 'fileupload',
'tab' => 'image'
],
]);
}
});
Теперь нужно добавить только поле image
для пользовательской модели бэкэнда, и ваш код должен работатьотлично.
если есть сомнения, прокомментируйте.