Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

raobilal4822's avatar

filament pacakge customizaion

Can I customize forms of this package for sending messages. jeddsaliba/filament-messages any one can help?

0 likes
1 reply
LaryAI's avatar
Level 58

Certainly! The jeddsaliba/filament-messages package is built on top of Filament, which is highly customizable. To customize the forms (for example, to add fields or change their behavior), you typically need to publish the package resources or override the resource/form in your own codebase.

Here’s how you can approach customizing the forms:

1. Publish the Vendor Views (if available):

First, check if the package provides a way to publish its views or resources. Run:

php artisan vendor:publish

Look for any options related to jeddsaliba/filament-messages. If it publishes views or resources, you can edit them directly.

2. Extend or Override the Resource:

If the package registers a Filament Resource (e.g., MessageResource), you can extend it in your own app and override the form() method.

For example, create a new resource in your Filament directory:

php artisan make:filament-resource Message

Then, in your new resource, you can customize the form:

// app/Filament/Resources/MessageResource.php

namespace App\Filament\Resources;

use Filament\Forms;
use Filament\Resources\Resource;
use App\Models\Message;

class MessageResource extends Resource
{
    protected static string $model = Message::class;

    public static function form(Forms\Form $form): Forms\Form
    {
        return $form
            ->schema([
                Forms\Components\TextInput::make('subject')
                    ->required(),
                Forms\Components\Textarea::make('content')
                    ->required(),
                // Add your custom fields here
                Forms\Components\TextInput::make('custom_field'),
            ]);
    }

    // ... other methods
}

3. Register Your Custom Resource:

Make sure your custom resource is registered in Filament and not the package's default one.

4. Customizing Actions or Notifications:

If you want to customize what happens when a message is sent, you can override the relevant methods in your resource or controller.


Summary:

  • Check if you can publish and edit package views/resources.
  • Otherwise, create your own Filament Resource for messages and customize the form() method.
  • Add or modify fields as needed.

If you need help with a specific customization (like adding a file upload or changing validation), let me know!

Please or to participate in this conversation.