在 GitHub 上为我们加注星标——这极大地激励了我们!
Aimeos 是专业、功能齐全、超快的 Laravel 电子商务包!您可以在 5 分钟内将其安装到现有的 Laravel 应用程序中,并且可以根据您的需求调整、扩展、覆盖和自定义任何内容。
Aimeos 是一个功能齐全的电子商务包:
...以及更多 Aimeos 功能
支持的语言:
查看演示:
如果您想设置新应用程序或测试 Aimeos,我们推荐 Aimeos 商店发行版。它包含快速入门的所有内容,您将在 5 分钟内获得一个完全运行的在线商店:
Aimeos店铺分布
如果您想自己构建单页应用程序 (SPA) 或渐进式 Web 应用程序 (PWA) 并且不需要 Aimeos HTML 前端,那么 Aimeos 无头发行版是正确的选择:
Aimeos 无头分发
目前,完全支持 Aimeos Laravel 软件包2023.10 及更高版本:
如果您想在主要版本之间升级,请查看升级指南!
Aimeos 商店分销要求:
如果缺少所需的 PHP 扩展, composer
会告诉您缺少的依赖项。
如果您想在主要版本之间升级,请查看升级指南!
确保您已提前创建数据库并将配置添加到应用程序目录中的.env
文件中。有时,使用 .env 文件会出现问题,您会收到数据库连接失败的异常。在这种情况下,请将数据库凭据也添加到./config/shop.php 文件的 resources/db 部分!
如果您至少没有安装 MySQL 5.7.8 或 MariaDB 10.2.2,您可能会收到类似以下的错误
Specified key was too long; max key length is 767 bytes
要避免此问题,请删除新表(如果已创建),并将./config/database.php
中的字符集/排序规则设置更改为以下值,然后再次安装 Aimeos:
' connections ' => [
' mysql ' => [
// ...
' charset ' => ' utf8 ' ,
' collation ' => ' utf8_unicode_ci ' ,
// ...
]
]
注意:还要确保您的 MySQL 服务器默认创建InnoDB表,因为MyISAM表将无法工作并会导致外键约束错误!
如果您想使用 MySQL 以外的数据库服务器,请查看有关支持的数据库服务器及其具体配置的文章。支持的有:
确保您在.env
文件中使用受支持的数据库服务器之一,例如:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=aimeos
DB_USERNAME=root
DB_PASSWORD=
注意:不支持默认配置的 SQLite 数据库!
Aimeos Laravel 在线商店包是一个基于作曲家的库。通过在现有 Laravel 应用程序的根目录中使用 Composer 2.1+ 可以最简单地安装它:
wget https://getcomposer.org/download/latest-stable/composer.phar -O composer
然后,将这些行添加到Laravel 骨架应用程序的composer.json 中:
"prefer-stable" : true ,
"minimum-stability" : " dev " ,
"require" : {
"aimeos/aimeos-laravel" : " ~2024.10 " ,
...
},
"scripts" : {
"post-update-cmd" : [
" @php artisan vendor:publish --tag=laravel-assets --ansi --force " ,
" @php artisan vendor:publish --tag=public --ansi " ,
" \ Aimeos \ Shop \ Composer::join "
],
...
}
然后,使用以下命令安装 Aimeos 商店包
php composer update -W
在最后一步中,您现在必须执行这些 artisan 命令才能获得工作或更新的 Aimeos 安装:
php artisan vendor:publish --tag=config --tag=public
php artisan migrate
php artisan aimeos:setup --option=setup/default/demo:1
在生产环境中或者如果您不希望安装演示数据,请省略--option=setup/default/demo:1
选项。
您必须设置 Laravel 的身份验证入门套件之一。 Laravel Breeze 是最简单的一种,但您也可以使用 Jetstream。
composer require laravel/breeze
php artisan breeze:install
npm install && npm run build # if not executed automatically by the previous command
Laravel Breeze 会问你几个问题,最重要的一个是你想要使用的堆栈类型。选择“Blade”(这是最简单的方法)并使用其他值的默认值。
它还将/profile
的路由添加到./routes/web.php
,这可能会覆盖aimeos_shop_account
路由。为了避免出现缺少aimeos_shop_account
路由的异常,请将./routes/web.php
文件中这些行的 URL 从/profile
更改为/profile/me
:
Route:: middleware ( ' auth ' )-> group ( function () {
Route:: get ( ' /profile/me ' , [ProfileController::class, ' edit ' ])-> name ( ' profile.edit ' );
Route:: patch ( ' /profile/me ' , [ProfileController::class, ' update ' ])-> name ( ' profile.update ' );
Route:: delete ( ' /profile/me ' , [ProfileController::class, ' destroy ' ])-> name ( ' profile.destroy ' );
});
如需了解更多信息,请关注 Laravel 文档:
最后一步,您需要扩展AppProvidersAppServiceProvider
类的boot()
方法,并添加行来定义如何在app/Providers/AppServiceProvider.php
中检查“admin”的授权:
public function boot ()
{
// Keep the lines before
Illuminate Support Facades Gate:: define ( ' admin ' , function ( $ user , $ class , $ roles ) {
if ( isset ( $ user -> superuser ) && $ user -> superuser ) {
return true ;
}
return app ( ' AimeosShopBaseSupport ' )-> checkUserGroup ( $ user , $ roles );
});
}
在继续之前测试您的身份验证设置是否有效。为您的 Laravel 应用程序创建一个管理员帐户,以便您能够登录 Aimeos 管理界面:
php artisan aimeos:account --super < email >
电子邮件地址是登录用户名,该帐户也适用于前端。为了保护新帐户,该命令将要求您输入密码。相同的命令可以通过使用--admin
、 --editor
或--api
而不是--super
(访问所有内容)来创建有限帐户。
要正确引用图像,您必须调整.env
文件并将APP_URL
设置为您的真实 URL,例如
APP_URL=http://127.0.0.1:8000
注意:确保 Laravel 在.env
文件中使用file
会话驱动程序!否则,购物篮内容将无法正确存储!
SESSION_DRIVER=file
如果您的./public
目录不可被 Web 服务器写入,则必须创建以下目录:
mkdir public/aimeos public/vendor
chmod 777 public/aimeos public/vendor
在生产环境中,您应该更具体地指定授予的权限!
然后,您应该能够在浏览器中调用目录列表页面。为了快速启动,您可以使用集成的 Web 服务器。只需在应用程序的基目录中执行此命令:
php artisan serve
使用以下命令将浏览器指向商店的列表页面:
注意:集成 Aimeos 包会向您的 Laravel 安装添加一些路由,例如/shop
或/admin
,但主页保持不变!如果您也想将 Aimeos 添加到主页,请将./routes/web.php
中的“/”路由替换为以下行:
Route:: group ([ ' middleware ' => [ ' web ' ]], function () {
Route:: get ( ' / ' , ' AimeosShopControllerCatalogController@homeAction ' )-> name ( ' aimeos_home ' );
});
对于多供应商设置,请阅读有关多个商店的文章。
这将在主页上显示 Aimeos 目录主页组件,您将获得一个漂亮的商店主页,如下所示:
如果您仍然启动了内部 PHP Web 服务器 ( php artisan serve
),您现在应该在浏览器中打开此 URL:
http://127.0.0.1:8000/admin
输入新创建用户的电子邮件地址和密码,然后按“登录”。如果您没有重定向到管理界面(这取决于您根据 Laravel 文档创建的身份验证代码),请再次将浏览器指向/admin
URL。
注意:确保您尚未以非管理员用户身份登录!在这种情况下,登录将不起作用,因为 Laravel 要求您先注销。
为了简化开发,您应该配置为不使用内容缓存。您可以在 Laravel 应用程序的config/shop.php
文件底部添加以下行来执行此操作:
' madmin ' => [
' cache ' => [
' manager ' => [
' name ' => ' None ' ,
],
],
],
Aimeos Laravel 包根据 MIT 许可证条款获得许可,并且免费提供。