oro/marketing
Oro marketing package bundles marketing-related features for Oro applications, providing integrations intended for OroCommerce, OroCRM, and OroPlatform projects. Install via Composer and extend your app with Oro’s marketing-specific bundles.
CampaignBundle, MarketingListBundle, etc.) aligns with Laravel’s modularity but introduces Symfony-specific dependencies (e.g., Doctrine ORM, Symfony EventDispatcher, and Dependency Injection). Laravel’s native Eloquent ORM and service container would require significant abstraction layers or forking to integrate seamlessly.CampaignStatisticDatagridListener) can be mapped to Laravel’s events, but this adds complexity and may require custom event listeners or middleware to bridge the gap./api/marketingactivitytypes) are Symfony-based and would need rewriting for Laravel’s routing system or proxying via a middleware layer, increasing maintenance overhead.CampaignRepository with an Eloquent-based service).oro_marketing_list.twig.extension.contact_information_fields). This would need to be replaced with Laravel’s service container or a bridge like php-di, adding complexity and potential runtime conflicts./api/marketingactivitytypes) would need to be rewritten for Laravel’s routing system (routes/api.php) or exposed via a middleware layer, increasing development effort.laravel-twig-bridge), adding frontend development overhead./api/matypes → /api/marketingactivitytypes), which may force refactoring and downtime during upgrades.NOASSERTION license is unclear; a legal audit is required to ensure compliance with your product’s licensing.php-di, custom bridges) will you implement to replace Symfony-specific components?oro/marketing:5.1.*) to avoid major updates, or build backward-compatibility layers?spatie/laravel-marketing)?oro/marketing:1.0.*), but expect runtime conflicts with Laravel’s core.php-di or laravel-bundle to adapt Symfony services to Laravel’s container. Example:
// config/app.php
'providers' => [
\DI\Bridge\Laravel\BridgeServiceProvider::class,
// Other providers...
],
spatie/laravel-marketing, beberlei/doctrineextensions for Eloquent) or headless tools (e.g., HubSpot API, ActiveCampaign).Artisan commands).Phase 1: Dependency Injection and Service Integration
php-di/bridge or laravel-bundle to bridge Symfony services.config/app.php:
'bindings' => [
'oro.marketing_list.provider' => \Oro\Bundle\MarketingListBundle\Provider\MarketingListProvider::class,
],
Event::listen).EventDispatcher).Phase 2: ORM Abstraction
Campaign → app/Models/Campaign).CampaignRepository → app/Repositories/CampaignRepository).How can I help you explore Laravel packages today?