1、簡介
該 擴充包 將 Aimeos 電商庫整合到Laravel 5中,為我們提供了多個控制器用於多層過濾、產品列表、詳情頁展示、搜尋、購物車和支付結算流程,以及對應的頁面和路由,總之,這是一整套提供完整功能的工具集。
2、安裝&更新
本文檔介紹的是今年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(), ),
3、設定
想要查看所有組件並讓一切正常工作起來,還需要調整Blade模板 resources/views/app.blade.php ,這裡是一個使用了Bootstrap的樣本:
@yield('aimeos_header') Aimeos on Laravel @yield('aimeos_styles') Toggle Navigation Laravel
@yield('aimeos_head') @yield('aimeos_nav')@yield('aimeos_stage')@yield('aimeos_body')@yield('aimeos_aside')@yield('content') @yield('aimeos_scripts')
此外,還要清除Laravel快取檔案,否則可能會因為老資料導致異常:
php artisan cache:clear
然後,需要在瀏覽器中調用目錄列表: http://laravel.app/list 。
注意:默然開啟了CSRF保護,但是排除了 /confirm 和 /update 路由,如果支付提供者是通過POST發送資料記得在CSRF中禁止該路由。
4、 後台
要使用後台系統,需要首先設定Laravel認證,具體認證實現請參考相應文檔:
測試認證通過後,建立一個後台賬戶以便登入到後台系統:
php artisan aimeos:account --admin
其中 email 用於後台登入使用者名稱,這個建立的賬戶同樣也可以用於前台登入,為了保護這個新賬戶,命令列會要求你輸入賬戶密碼。
最後一步,你需要擴充 App\Providers\AuthServiceProvider 類的 boot() 方法,定義後台認證使用者的檢查:
public function boot(GateContract $gate){ // Keep the lines before $gate->define('admin', function($user) { return app( '\Aimeos\Shop\Base\Support' )->checkGroup( $user->id, 'admin' ); });}
如果你的 ./public 目錄對伺服器而言不可寫,需要設定其可寫入權限:
mkdir public/files public/preview public/uploadschmod 777 public/files public/preview public/uploads
注意:在生產環境中,需要更加細粒度的分配許可權。
後台訪問地址為: http://laravel.app/admin 。
輸入新建立賬戶的郵箱和密碼登入後,如果沒有跳轉到後台頁面,再次訪問 /admin 頁面。
5、小技巧
為了簡化開發,需要配置不使用內容緩衝,這可以通過配置 config/shop.php 來實現:
'madmin' => array( 'cache' => array( 'manager' => array( 'name' => 'None', ), ), ),
更多詳情,請參考其官方文檔: https://aimeos.org/Laravel