للتعامل مع رفع الصور في Filament بكل بساطه كل ما علينا القيام به هو تعريف هذا الحقل، لذلك نذهب ProductResource بداخل الدالة form-schema نضيف تعريف FileUpload
public static function form(Form $form): Form { return $form ->schema([ Forms\Components\TextInput::make('name') ->required() ->maxLength(255), Forms\Components\TextInput::make('price') ->required(), Forms\Components\FileUpload::make('image') ]);
}
كما نرى أنه بالوضع الإفتراضي يتم إستخدام filepond في رفع الصور.
عرض الصور
عند عرض البيانات، لإضافه إمكانية عرض الصوره بجانب Name, Price نذهب table-columns. ونضيف ImageColumn ويمكن لنا تحديد العرض والطول
public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\ImageColumn::make('image')->width(100)->height(100), Tables\Columns\TextColumn::make('name')->sortable()->searchable(), Tables\Columns\TextColumn::make('price')->sortable(), ]) ->defaultSort('price','desc') ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); }