Download the PHP package misaf/vendra-product without Composer
On this page you can find all versions of the php package misaf/vendra-product. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download misaf/vendra-product
More information about misaf/vendra-product
Files in misaf/vendra-product
Package vendra-product
Short Description The product module for the Vendra framework
License MIT
Homepage https://github.com/misaf/vendra-product
Informations about the package vendra-product
Vendra Product
Tenant-aware product management for Vendra applications.
Support\ProductStockRestorer binds Misaf\VendraSupport\Contracts\StockRestorer, supplies Product’s morph alias, and delegates restoration to RestockProductsAction. It preserves tenant scoping, restores soft-deleted products, and leaves in_stock unchanged. Product imports no Order or Order API types.
Features
- Product categories
- Products
- Product prices per currency
- A per-store product cap from the reseller's plan (
products_per_store) - Filament resources on the
adminpanel
Requirements
- PHP 8.4+
- Laravel 13
- Filament 5
- Livewire 4
- Pest 4
- Tailwind CSS 4
misaf/vendra-supportmisaf/vendra-multimedia
Optional:
misaf/vendra-attribute— enables reusable product attributes and values through the shared support resolvermisaf/vendra-currency— enables management of the active currencies used by pricing forms and demo seedersmisaf/vendra-tagger— enables assigningproduct-typed tags through the shared support resolver
Installation
Optional configuration and translations:
The service provider and Filament plugin are auto-registered.
Usage
Create a category:
Create a product:
Add a price:
Load products with relationships:
Quote purchases for a checkout:
The quoter loads every requested product in one query and keeps the request
keys. A product can be bought when its category is active, it is in stock with
enough quantity, and it has a price in the currency; otherwise the result is
Unavailable, OutOfStock, or PriceMissing. Prices are history, so the
newest price in the currency applies, matching latestProductPrice. It checks stock but never
takes it, and knows nothing about carts or orders.
Take and return stock with DeductProductStockAction and
RestockProductsAction, both keyed by product id. Deduction locks the products
in id order, rechecks in_stock and the quantity under the lock, and takes
nothing when any product falls short, throwing
InsufficientProductStockException with that product's id. Taking a
product's last unit switches in_stock off. Restocking never switches it back
on, so the merchant re-enables the product. Restocking also returns stock to
deleted products.
Duplicate a product with DuplicateProductAction. It gives the copy a name
and slug no other product in the tenant uses, and copies its prices, media,
attribute selections, and tags in one transaction.
Optional tags
Install misaf/vendra-tagger in the host application to enable the Tags tab and table column automatically. Product does not require or import Tagger or Spatie Tags; both packages communicate through the TagResolver contract in misaf/vendra-support.
Create tags with the reserved product type in the Tagger resource, then assign them from the product form:
Without Tagger, Product continues working without tag queries or tag UI.
Filament
Resources are available in the shared Catalog cluster on the admin panel:
- Product Categories
- Products
- Product Prices
Demo seeders use bundled JSON fixtures in production and when their declared factory classes are unavailable. Local monorepo development continues to use factories when they are autoloadable.
Testing
Run the package checks from the project root:
License
MIT. See LICENSE.
All versions of vendra-product with dependencies
awcodes/filament-badgeable-column Version ^4.0
cknow/laravel-money Version ^8.5
lara-zeus/spatie-translatable Version ^2.0.1
misaf/filament-jalali Version ^5.1.4
misaf/vendra-multimedia Version self.version
misaf/vendra-support Version self.version
spatie/eloquent-sortable Version ^5.0.1
spatie/laravel-package-tools Version ^1.93.1
spatie/laravel-sluggable Version ^4.0.2
staudenmeir/laravel-adjacency-list Version ^1.26.1