Ecommerce Builder
Build your own ecommerce store with FilamentPHP with the Power of Tomato CMS Builder
Author:
Fady Mondy
Documentation
- Installation
- Features
- Screenshots
- Use Coupon Service
- Use Filament Shield
- Publish Assets
- Other Filament Packages

Build your own ecommerce store with FilamentPHP with the Power of Tomato CMS Builder
#Installation
composer require tomatophp/filament-ecommerce
we need the Media Library plugin to be installed and migrated you can use this command to publish the migration
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-migrations"
now you need to install the settings hub use these commands
php artisan vendor:publish --provider="Spatie\LaravelSettings\LaravelSettingsServiceProvider" --tag="migrations"
php artisan filament-settings-hub:install
then you need to publish the account model
php artisan vendor:publish --tag="filament-accounts-model"
after installing your package please run this command
php artisan filament-ecommerce:install
finally register the plugin on /app/Providers/Filament/AdminPanelProvider.php
->plugin(
\TomatoPHP\FilamentEcommerce\FilamentEcommercePlugin::make()
->useCoupon()
->useGiftCard()
->useReferralCode()
->allowOrderExport()
->allowOrderImport()
->useWidgets()
)
there is some feature you can disable it
->plugin(
\TomatoPHP\FilamentEcommerce\FilamentEcommercePlugin::make()
->useAccounts(false)
->useOrderSettings(false)
->useSettings(false)
->showOrderAccount(false)
->allowOrderCreate(false)
)
#Features
- Multi Company / Branches Management
- Product Management
- Product Table Group By Type
- Product Multi Variants
- Product Multi Images
- Product Multi Languages Content
- Shipping Vendor Management
- Order Management
- Order Logs
- Order Shipping Action
- Order Change Status Action
- Order Table Group By Status
- Order Receipt Print
- Order Table Summary
- Order Settings
- Order Export
- Order Import
- Order Charts Widgets
- Coupon Management
- Gift Card Management
- Refferal Management
- Coupons Service Class
- Add Discount To Order Using Coupon
- Product Variants On Order
- Gitf Card Services
- Gift Card Apply To Account Wallet
- Pay Order With Wallet
- Pay Order With Gift Card
- Refferal Code Services
- Refferal Code Middleware Counter
- Order PDF Export
- Order Facade Methods
- Order Tracking Page
- Product Import
- Product Export
- Product Clone
- Cart Manager
- Comparison Between Products
- Wishlist Manager
- Product Download for Digital Products
- Search History Manager
- Filament CMS Page Builder Integration
- Filament CMS Themes Integration
- Product Service Class
- Ecommerce Service Class
- Ecommerce APIs
#Screenshots

#Use Coupon Service
you can use coupon service to check if coupon is valid or not
you can use this method to check for selected Order
use \TomatoPHP\FilamentEcommerce\Facades\FilamentEcommerce;
FilamentEcommerce::coupon()->check('coupon_code', \TomatoPHP\FilamentEcommerce\Models\Order::find(1));
or you can check the code for selected products
use \TomatoPHP\FilamentEcommerce\Facades\FilamentEcommerce;
FilamentEcommerce::coupon()->products([1,2,4])->check('coupon_code');
or you can get the direct discount amount of the code
use \TomatoPHP\FilamentEcommerce\Facades\FilamentEcommerce;
FilamentEcommerce::coupon()->products([1,2,4])->discount('coupon_code');
and it's the same as check you can apply to selected order or selected products.
#Use Filament Shield
you can use the shield to protect your resource and allow user roles by install it first
composer require bezhansalleh/filament-shield
Add the Spatie\Permission\Traits\HasRoles trait to your User model(s):
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable
{
use HasRoles;
// ...
}
Publish the config file then setup your configuration:
->plugin(\BezhanSalleh\FilamentShield\FilamentShieldPlugin::make())
Now run the following command to install shield:
php artisan shield:install
Now we can publish the package assets.
php artisan vendor:publish --tag="filament-users-config"
now you need to allow it on the plugin options
->plugin(\TomatoPHP\FilamentEcommerce\FilamentEcommercePlugin::make()->allowShield())
for more information check the Filament Shield
#Publish Assets
you can publish config file by use this command
php artisan vendor:publish --tag="filament-ecommerce-config"
you can publish views file by use this command
php artisan vendor:publish --tag="filament-ecommerce-views"
you can publish languages file by use this command
php artisan vendor:publish --tag="filament-ecommerce-lang"
you can publish migrations file by use this command
php artisan vendor:publish --tag="filament-ecommerce-migrations"
#Other Filament Packages
Checkout our Awesome TomatoPHP
The author
Build your own ecommerce store with FilamentPHP with the Power of Tomato CMS Builder
From the same author
Tenancy Multi-database
Tenancy multi-database integration for FilamentPHP
Author:
Fady Mondy
Menu Generator
Menu view generator using view component
Author:
Fady Mondy
Translations Manager
Manage your translation with DB and cache, you can scan an collect translation strings like `trans()` and `__()`, and translate them using UI
Author:
Fady Mondy
Meta Manager
Convert any model on your app to pluggable model using Meta and get ready to use relation manager on FilamentPHP panel
Author:
Fady Mondy
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission