Ecommerce Builder plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Ecommerce Builder

Build your own ecommerce store with FilamentPHP with the Power of Tomato CMS Builder

Tags: Developer Tool
Supported versions:
3.x
Fady Mondy avatar Author: Fady Mondy

Documentation

Screenshot

Latest Stable Version License Downloads

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

Branches Companies Edit Company Products List Create Product Create Order Order Items Orders List Deliveries Edit Shipping Shipping

#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