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.
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.
Aimeos\Shop\Base\Provider to inject custom logic (e.g., pricing, inventory) into the shop flow.Aimeos\Shop\Controller\ProductsController and register your version in config/shop.php.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.Aimeos\Shop\Setup\Updater classes or JSON configuration in config/shop.php.shop config entries (e.g., ['shop1', 'shop2']) — ideal for marketplaces or white-label deployments.php artisan migrate. Use aimeos:setup and aimeos:update instead.aimeos-cache pool) separate from Laravel’s cache. Clear it manually via php artisan cache:clear --pool=aimeos-cache after config changes.Locale::get() to ensure strings render in the correct language — mixing app locales with Aimeos locales causes silent errors.--verbose with aimeos:* commands to see SQL and internal logic — indispensable for diagnosing setup failures.Aimeos\MShop\Product\Item\Standard), prefer composition via Aimeos\MShop\Provider\Manager\Decorator classes to avoid breaking changes on upgrades.shop.product.index caching and avoid include() in Twig views — use render() and template fragments instead.How can I help you explore Laravel packages today?