Step 1.開啟Terminal,輸入以下指令
composer require "darryldecode/cart:~4.0"
安裝套件時如果出現記憶體不足的錯誤,可開啟Apache伺服器>config>php.ini,找到裏頭的一行設定"memory_limit",將其值改成-1,即可不限定伺服器的記憶體空間
Step 2.(非必須)修改config/app.php,加入 provider與 alias
加入以下到Service Provider陣列
Darryldecode\Cart\CartServiceProvider::class
加入以下到Alias陣列
'Cart' => Darryldecode\Cart\Facades\CartFacade::class
$item = \App\Item::find(商品主鍵);
$rowId = 商品主鍵
$userID = Auth::user()->id;
使用Cart Facade前,記得加上use Cart;
\\app\Http\Controllers\ShopController.php
public function addItem(Item $item){
$data = [
'id' =>$item->id,
'name' => $item->title,
'price' => $item->price,
'quantity' => 1,
'attributes' => [], //額外屬性
'associatedModel' => $item //商品模型物件
];
Cart::session($userID)->add($data);
}
測試路由
Route::get('/shops/additem/{item}','App\Http\Controllers\ShopController@addItem');
這個方法並非設定商品的屬性,而是增加。比方說 quantity => 1 ,表示數量加1的意思
\\app\Http\Controllers\ShopController.php
public function updateItem(Item $item,$qty){
\Cart::session($userID)->update($item->id,[
'quantity' => $qty
]);
}
測試路由
Route::get('/shops/updateitem/{item}/{qty}','App\Http\Controllers\ShopController@updateItem');
\\app\Http\Controllers\ShopController.php
public function removeItem(Item $item){
\Cart::session($userID)->remove($item->id);
}
測試路由
Route::get('/shops/removeitem/{item}','App\Http\Controllers\ShopController@removeItem');
\\app\Http\Controllers\ShopController.php
public function getContent(){
$cartContent = \Cart::session($userID)->getContent();
dd($cartContent);
}
測試路由
Route::get('/shops/getcontent','App\Http\Controllers\ShopController@getContent');
\\app\Http\Controllers\ShopController.php
public function clear(){
\Cart::session($userID)->clear();
}
測試路由
Route::get('/shops/clear','App\Http\Controllers\ShopController@clear');
\\app\Http\Controllers\ShopController.php
public function checkEmpty(){
$isEmpty = \Cart::session($userID)->isEmpty();
dd($isEmpty);
}
}
測試路由
Route::get('/shops/checkempty','App\Http\Controllers\ShopController@checkEmpty');
\\app\Http\Controllers\ShopController.php
public function getTotalQuantity(){
$qty = \Cart::session($userID)->getTotalQuantity();
return $qty;
}
測試路由
Route::get('/shops/gettotalquantity','App\Http\Controllers\ShopController@getTotalQuantity');
\\app\Http\Controllers\ShopController.php
public function getTotal(){
$subtotal = \Cart::session($userID)->getSubTotal();
$total = \Cart::session($userID)->getTotal();
return '小計:' . $subtotal . ',總計:' . $total;
}
測試路由
Route::get('/shops/gettotal','App\Http\Controllers\ShopController@getTotal');
開啟Terminal,輸入以下指令
php artisan vendor:publish --provider="Darryldecode\Cart\CartServiceProvider" --tag=“config"
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing