GitHub でスターを付けてください。それは私たちの大きなモチベーションになります。
Aimeos は、プロフェッショナルでフル機能の超高速な Laravel e コマース パッケージです。既存の Laravel アプリケーションに 5 分以内にインストールでき、ニーズに合わせて適応、拡張、上書き、カスタマイズできます。
Aimeos は、フル機能の e コマース パッケージです。
...その他 Aimeos の機能
サポートされている言語:
デモをチェックしてください:
新しいアプリケーションをセットアップしたり、Aimeos をテストしたい場合は、Aimeos ショップのディストリビューションをお勧めします。すぐに始めるためのすべてが含まれており、5 分以内に完全に機能するオンライン ショップが完成します。
アイメオスショップ配布
シングル ページ アプリケーション (SPA) やプログレッシブ Web アプリケーション (PWA) を自分で構築したいが、Aimeos HTML フロントエンドが必要ない場合は、Aimeos ヘッドレス ディストリビューションが正しい選択です。
Aimeos ヘッドレスディストリビューション
現在、Aimeos Laravel パッケージ2023.10 以降が完全にサポートされています。
メジャー バージョン間でアップグレードする場合は、アップグレード ガイドをご覧ください。
Aimeos ショップの配布には次のものが必要です。
必要な PHP 拡張機能が欠落している場合、 composer
欠落している依存関係について通知します。
メジャー バージョン間でアップグレードする場合は、アップグレード ガイドをご覧ください。
事前にデータベースを作成し、アプリケーション ディレクトリの.env
ファイルに構成を追加していることを確認してください。場合によっては、.env ファイルを使用すると問題が発生し、データベースへの接続が失敗したという例外が発生します。その場合は、 ./config/shop.php ファイルの resource/db セクションにもデータベース認証情報を追加してください。
少なくとも MySQL 5.7.8 または MariaDB 10.2.2 がインストールされていない場合は、おそらく次のようなエラーが表示されます。
Specified key was too long; max key length is 767 bytes
この問題を回避するには、Aimeos を再度インストールする前に、新しいテーブルが作成されている場合は削除し、 ./config/database.php
の文字セット/照合順序設定を次の値に変更します。
' connections ' => [
' mysql ' => [
// ...
' charset ' => ' utf8 ' ,
' collation ' => ' utf8_unicode_ci ' ,
// ...
]
]
注意: MyISAMテーブルが機能せず、外部キー制約エラーが発生するため、MySQL サーバーがデフォルトでInnoDBテーブルを作成することも確認してください。
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
最後のステップでは、次の職人コマンドを実行して、動作するまたは更新された 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 はいくつかの質問をします。最も重要な質問は、使用したいスタックのタイプです。 「ブレード」を選択し (これが最も簡単な方法です)、その他はデフォルト値を使用します。
また、 /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 );
});
}
続行する前に、認証設定が機能するかどうかをテストしてください。 Aimeos 管理インターフェースにログインできるように、Laravel アプリケーションの管理者アカウントを作成します。
php artisan aimeos:account --super < email >
電子メール アドレスはログイン用のユーザー名であり、アカウントはフロントエンドでも機能します。新しいアカウントを保護するために、コマンドはパスワードの入力を求めます。同じコマンドで、 --super
(すべてにアクセス) の代わりに--admin
、 --editor
、または--api
使用して、制限付きアカウントを作成できます。
画像を正しく参照するには、 .env
ファイルを調整し、 APP_URL
実際の URL に設定する必要があります。
APP_URL=http://127.0.0.1:8000
注意: Laravel が.env
ファイルでfile
セッション ドライバーを使用していることを確認してください。そうしないと、買い物かごの内容が正しく保存されません。
SESSION_DRIVER=file
Web サーバーが./public
ディレクトリに書き込みできない場合は、次のディレクトリを作成する必要があります。
mkdir public/aimeos public/vendor
chmod 777 public/aimeos public/vendor
運用環境では、付与されるアクセス許可についてより具体的にする必要があります。
これで、ブラウザでカタログ リスト ページを呼び出すことができるようになります。簡単に開始するには、統合 Web サーバーを使用できます。アプリケーションのベース ディレクトリで次のコマンドを実行するだけです。
php artisan serve
次のコマンドを使用して、ブラウザでショップのリスト ページにアクセスします。
注: Aimeos パッケージを統合すると、 /shop
や/admin
などのルートが Laravel インストールに追加されますが、ホームページは変更されません。 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 ライセンスの条件に基づいてライセンスされており、無料で利用できます。