成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Laravel shopping cart : 電商購物車包,線上完美運行中

孫淑建 / 2149人閱讀

摘要:購物車在電商場景中基本是必須的一個模塊,我們基于進行擴展開發(fā)。主要實現(xiàn)了以下擴展購物車數(shù)據(jù)支持存儲增加屬性返回。因為購物車可能是或者,因此直接通過屬性直接返回相關(guān)對象。支持多因為在產(chǎn)品有商城購物車和導(dǎo)購購物車。

我們秉承得益開源社區(qū),也奉獻開源社區(qū)的原則,我們會陸續(xù)將正在線上使用的穩(wěn)定包提交到 github 上,同時在后續(xù)的開源產(chǎn)品中,也會用到,大家可以放心使用。

購物車在電商場景中基本是必須的一個模塊,我們基于 overtrue/laravel-shopping-cart 進行擴展開發(fā)。

BTW: github 上已經(jīng)有非常多和優(yōu)秀的輪子,但是在實際應(yīng)用場景中,會遇到不滿足需求的情況,這個時候就需要改造下。另外貌似又見 overtrue 大神的輪子,主要 overtrue 的輪子很優(yōu)秀,而且符合國人使用習(xí)慣。

主要實現(xiàn)了以下擴展:

購物車數(shù)據(jù)支持 Database 存儲

Item 增加 Model 屬性返回。因為購物車可能是 SPU 或者 SKU,因此直接通過 model 屬性直接返回相關(guān)對象。

支持多 Guard. 因為在 iBrand 產(chǎn)品有商城購物車和導(dǎo)購購物車。

包地址: laravel-shopping-cart
Installation
composer require ibrand/laravel-shopping-cart:~1.0 -vvv
php artisan vendor:publish --provider="iBrandShoppingcartServiceProvider"

低于 Laravel5.5 版本

config/app.php 文件中 "providers" 添加

iBrandShoppingcartServiceProvider::class

config/app.php 文件中 "aliases" 添加

"Cart"=> iBrandShoppingcartFacade::class
Usage Select Storage

You can change data Storage in config/ibrand/cart.php file.

"storage" => iBrandShoppingcartStorageDatabaseStorage::class,
  
"storage" => iBrandShoppingcartStorageSessionStorage::class,

If you use Database Storage, you need to execute php artisan migrate

Add item to cart

Add a new item.

Item | null Cart::add(
                    string | int $id,
                    string $name,
                    int $quantity,
                    int | float $price
                    [, array $attributes = []]
                 );

example:

$row = Cart::add(37, "Item name", 5, 100.00, ["color" => "red", "size" => "M"]);
// Item:
//    id       => 37
//    name     => "Item name"
//    qty      => 5
//    price    => 100.00
//    color    => "red"
//    size     => "M"
//    total    => 500.00
//    __raw_id => "8a48aa7c8e5202841ddaf767bb4d10da"
$rawId = $row->rawId();// get __raw_id
$row->qty; // 5
...
Update item

Update the specified item.

Item Cart::update(string $rawId, int $quantity);
Item Cart::update(string $rawId, array $arrtibutes);

example:

Cart::update("8a48aa7c8e5202841ddaf767bb4d10da", ["name" => "New item name");
// or only update quantity
Cart::update("8a48aa7c8e5202841ddaf767bb4d10da", 5);
Get all items

Get all the items.

Collection Cart::all();

example:

$items = Cart::all();
Get item

Get the specified item.

Item Cart::get(string $rawId);

example:

$item = Cart::get("8a48aa7c8e5202841ddaf767bb4d10da");
Remove item

Remove the specified item by raw ID.

boolean Cart::remove(string $rawId);

example:

Cart::remove("8a48aa7c8e5202841ddaf767bb4d10da");
Destroy cart

Clean Shopping Cart.

boolean Cart::destroy();
boolean Cart::clean(); // alias of destroy();

example:

Cart::destroy();// or Cart::clean();

READ MORE: ibrandcc/laravel-shopping-cart

歡迎大家 star 和提交 issue :)
討論交流

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/28122.html

相關(guān)文章

  • Laravel 獲取當前 Guard 分析 —源自電商物車的實際需求

    摘要:因為客戶希望能夠直觀的看到目前購物車中商品信息,以便推送優(yōu)惠信息來促使轉(zhuǎn)化。用戶在商城中的購物車數(shù)據(jù)導(dǎo)購使用導(dǎo)購小程序代用戶下單或結(jié)賬時加入的購物車數(shù)據(jù),不和用戶購物車數(shù)據(jù)同步。 iBrand 產(chǎn)品中關(guān)于購物車的需求比較復(fù)雜,我們基于 overture/laravel-shopping-cart 擴展出了更加符合電商需求的購物車包,之前有文章進行過簡單的介紹: Laravel shop...

    daydream 評論0 收藏0
  • Redux入門教程(快速上手)

    摘要:接下來演示不變性打開終端并啟動輸入。修改代碼如下我們使用在控制臺中打印出當前的狀態(tài)??梢栽诳刂婆_中確認新的商品已經(jīng)添加了。修改和文件最后,我們在中分發(fā)這兩個保存完代碼之后,可以在瀏覽器的控制臺中檢查修改和刪除的結(jié)果。 典型的Web應(yīng)用程序通常由共享數(shù)據(jù)的多個UI組件組成。通常,多個組件的任務(wù)是負責(zé)展示同一對象的不同屬性。這個對象表示可隨時更改的狀態(tài)。在多個組件之間保持狀態(tài)的一致性會是一...

    amuqiao 評論0 收藏0
  • 基于Composer的Laravel擴展開發(fā)工作流

    使用場景 在引用第三方包的時候,對第三方包有改動需求,需要將代碼放在自己的倉庫;并且自己的其他項目也有需求引用自定義的第三方包;甚至自己會發(fā)布修改后的第三方包; 讀完本文你講獲得: Git Submodule的基本使用 從本地加載第三方包 從自定義倉庫地址獲取擴展包 快速創(chuàng)建第三方包 本文是在我自己想要創(chuàng)建一個基礎(chǔ)第三方包的時候記錄下的操作步驟 1、利用git submoudle在已有項目中使...

    Faremax 評論0 收藏0
  • 電商系統(tǒng)設(shè)計之用戶系統(tǒng)

    摘要:致謝感謝你們看到這里,下一篇我會講一下關(guān)于電商系統(tǒng)的商品設(shè)計的部分。 showImg(https://segmentfault.com/img/bVbclTs?w=500&h=329); 電商大伙每天都在用,類似某貓,某狗等。電商系統(tǒng)設(shè)計看似復(fù)雜又很簡單,看似簡單又很復(fù)雜本章適合初級工程師及中級工程師細看,大佬請隨意 前言 設(shè)計以以下為工具講起 PHP為開發(fā)語言 基于Laravel框...

    lindroid 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<