Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Aimeos Core Laravel Package

aimeos/aimeos-core

High-performance e-commerce core for Aimeos, providing the product catalog, pricing, customers, orders, and checkout logic. Framework-agnostic PHP with Laravel integration, extensible via plugins, optimized for large catalogs and multi-site, multi-language shops.

View on GitHub
Deep Wiki
Context7

Getting Started

Start by installing the core package via Composer (composer require aimeos/aimeos-core). The official documentation at aimeos.org is your primary resource — begin with the Quick Start and Getting Started guides. Your first real-world use case will likely involve setting up a basic product catalog with Laravel: publish the config (php artisan vendor:publish --provider="Aimeos\Shop\ShopServiceProvider"), configure your database (Aimeos uses its own schema — run php artisan ai:setup), and create your first product via the admin interface or CLI. The aimeos:setup command bootstraps the database, while aimeos:update handles schema/migration updates — treat these like Laravel’s migrations but Aimeos-specific.

Implementation Patterns

  • Dependency Injection & Service Providers: Aimeos is heavily extensible via DI. Extend Aimeos\Shop\Base\Provider to inject custom logic (e.g., pricing, inventory) into the shop flow.
  • Controller Overriding: To customize checkout or product display, extend controllers like Aimeos\Shop\Controller\ProductsController and register your version in config/shop.php.
  • Jobs & Events: Leverage Aimeos’ queue-based jobs (Aimeos\Shop\Jobs) for heavy tasks (e.g., indexing, email sending) and hook into events (e.g., aimeos.shop.product.detail.before) for side effects.
  • Admin UI Customization: Add new tabs, fields, or validation rules via Aimeos\Shop\Setup\Updater classes or JSON configuration in config/shop.php.
  • Multi-tenant Support: Define multiple shops per codebase using shop config entries (e.g., ['shop1', 'shop2']) — ideal for marketplaces or white-label deployments.

Gotchas and Tips

  • Database migrations are not Laravel-style: Aimeos manages its own schema — never run php artisan migrate. Use aimeos:setup and aimeos:update instead.
  • Cache quirks: Aimeos uses its own cache layer (aimeos-cache pool) separate from Laravel’s cache. Clear it manually via php artisan cache:clear --pool=aimeos-cache after config changes.
  • Translation system is locale-aware: Use Locale::get() to ensure strings render in the correct language — mixing app locales with Aimeos locales causes silent errors.
  • Debugging CLI commands: Use --verbose with aimeos:* commands to see SQL and internal logic — indispensable for diagnosing setup failures.
  • Extending models: While you can extend core models (e.g., Aimeos\MShop\Product\Item\Standard), prefer composition via Aimeos\MShop\Provider\Manager\Decorator classes to avoid breaking changes on upgrades.
  • Performance tip: For catalogs with 10k+ products, enable shop.product.index caching and avoid include() in Twig views — use render() and template fragments instead.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport
twbs/bootstrap4
php-http/client-implementation
phpcr/phpcr-implementation
cucumber/gherkin-monorepo
haydenpierce/class-finder
psr/simple-cache-implementation
uri-template/tests