この拡張パッケージは Aimeos e-commerce ライブラリを Laravel 5 に統合し、多層フィルタリング、製品リスト、詳細ページ用の複数のコントローラーを提供します。 、検索、ショッピングカート、支払い決済のプロセスと、それに対応するページとルーティング、つまり、完全な機能を提供する完全なツールセットです。
このドキュメントでは、今年 4 月にリリースされた Aimeos Laravel の最新バージョンを紹介します。まず、Composer を使用して、プロジェクトのルート ディレクトリにあるcomposer.json を更新します。 . :
"prefer-stable": true, "minimum-stability": "dev", "require": { "aimeos/aimeos-laravel": "~2016.04", ... }, "scripts": { ... "post-update-cmd": [ "php artisan vendor:publish --tag=public --force", "php artisan vendor:publish", "php artisan migrate", ... ] }
次に更新コマンドを実行します:
composer update
注: データベースが構成されていることを確認してください。
次に、config/app.php でサービスプロバイダーを登録する必要があります。
return array( 'providers' => array( ... Aimeos\Shop\ShopServiceProvider::class, ),);
最後に、次の Artisan コマンドを実行して Aimeos を実行または更新する必要があります。インストール:
php artisan vendor:publishphp artisan migratephp artisan aimeos:setup --option=setup/default/demo:1php artisan aimeos:cache
運用環境、またはデモ データを挿入したくない場合は、 --option=setup/default/demo:1 オプションを使用しないでください。
Laravel 5.1 では、config/shop.php の Routes セクションを次のように変更する必要があります (5.1 にはミドルウェア グループ Web がないため):
'routes' => array( 'login' => array(), 'admin' => array('middleware' => array('auth')), 'account' => array('middleware' => array('auth')), 'default' => array(), 'confirm' => array(), 'update' => array(), ),
すべてのコンポーネントを表示し、すべてが適切に動作するようにするには、Blade テンプレートの resource/views/app.blade.php も調整する必要があります。 以下に、Bootstrap を使用した例を示します。
<!DOCTYPE html><html lang="en" class="no-js"><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1">@yield('aimeos_header') <title>Aimeos on Laravel</title> <link href='//fonts.googleapis.com/css?family=Roboto:400,300' rel='stylesheet' type='text/css'> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet">@yield('aimeos_styles')</head><body> <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span class="sr-only">Toggle Navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">Laravel</a> </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <li><a href="/">Home</a></li> </ul> <div class="navbar-right">@yield('aimeos_head') </div> </div> </div> </nav> <div class="col-xs-12">@yield('aimeos_nav')@yield('aimeos_stage')@yield('aimeos_body')@yield('aimeos_aside')@yield('content') </div> <!-- Scripts --> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js"></script>@yield('aimeos_scripts') </body></html>
さらに、Laravel キャッシュ ファイルをクリアするには、古いデータが原因で例外が発生する可能性があります:
php artisan cache:clear
次に、ブラウザでディレクトリ リストを呼び出す必要があります: http://laravel.app/list 。
注: CSRF 保護はサイレントに有効になりますが、/confirm および /update ルートは除外されます。決済プロバイダーが POST 経由でデータを送信する場合は、CSRF でこのルートを必ず無効にしてください。
バックエンド システムを使用するには、最初に Laravel 認証を設定する必要があります。具体的な認証の実装については、対応するドキュメントを参照してください。 >
Laravel 5.1電子メールがバックエンド ログイン ユーザー名として使用される場合、このアカウントはフロントエンド ログインにも使用できます。この新しいアカウントを保護するために、コマンド ラインでアカウント パスワードの入力が求められます。
php artisan aimeos:account --admin
最後のステップでは、AppProvidersAuthServiceProvider クラスの boot() メソッドを拡張して、バックグラウンド認証ユーザーのチェックを定義する必要があります。
./public ディレクトリが書き込み可能でない場合
public function boot(GateContract $gate){ // Keep the lines before $gate->define('admin', function($user) { return app( '\Aimeos\Shop\Base\Support' )->checkGroup( $user->id, 'admin' ); });}
mkdir public/files public/preview public/uploadschmod 777 public/files public/preview public/uploads
バックグラウンドアクセスアドレスは http://laravel.app/admin です。
新しく作成したアカウントのメールアドレスとパスワードを入力してログイン後、バックエンドページにジャンプしない場合は、再度 /admin ページにアクセスしてください。
5. ヒント
詳細については、公式ドキュメントを参照してください: https://aimeos.org/Laravel
'madmin' => array( 'cache' => array( 'manager' => array( 'name' => 'None', ), ), ),