kkosmider / lunarphp-omnibus
A LunarPHP package for tracking historical prices and Omnibus directive compliance.
1.0.4
2025-02-03 11:55 UTC
Requires
- lunarphp/lunar: ^1.0.0-beta.9
This package is auto-updated.
Last update: 2025-03-03 12:12:11 UTC
README
A package to track historical prices of purchasable items in LunarPHP for compliance with the EU Omnibus Directive.
Features
- Track historical prices for all purchasable models.
- Support for multi-currency and customer group pricing.
- Automatically log price changes.
- Retrieve the lowest price within the last 30 days.
Installation
-
Install the package using Composer:
composer require kkosmider/lunarphp-omnibus
-
Publish the migrations and configurations:
php artisan vendor:publish --tag=omnibus.migrations
-
Add the
HasHistoricalPrices
trait to your purchasable models.
Usage
This package automatically listens to price changes and records them in the historical_prices table. Use the HasHistoricalPrices trait in your purchasable models:
use Kkosmider\Omnibus\Traits\HasHistoricalPrices; class ProductVariant extends \Lunar\Models\ProductVariant { use HasHistoricalPrices; }
Retrieve the lowest price within the last 30 days:
$variant = ProductVariant::find(1); $lowestPrice = $variant->getHistoricalLowestPrice(); $variantHistoricalPrices = $variant->historicalPrices()->get();
Configuration
Customize configurations in config/omnibus.php
after publishing:
php artisan vendor:publish --tag=omnibus.config