ホームページ  >  記事  >  バックエンド開発  >  PHPオンラインショッピングカートデザインコード共有_PHPチュートリアル

PHPオンラインショッピングカートデザインコード共有_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:21:17872ブラウズ

まず、ショッピング カートのデータベース設計:
1. Goods_id 製品 ID
4. Goods_sn 製品コード
5. shop_price 製品の価格
7. product 実際の販売価格 (shop_price との違いは、割引がある場合、shop_price は割引前の商品の販売価格です)
8. Goods_number 商品の重量
10.商品属性(色、サイズなど)
11.promote_code プロモーションコード(商品プロモーションの戦略パターン識別コード)
12.stock_id 在庫ID
データベース構造はおそらく次のとおりです。もちろん、製品のリベート ポイント、製品が仮想製品かどうか、製品が他人に代わって出荷されるかどうかなど、他のニーズがある場合は、追加の識別子を追加できます。ここでは一つ一つ例をあげません。
2 番目のポイントは、ショッピング カートの要件は、ユーザーがログインせずにショッピング カートに商品を追加できることです。これも最近非常に人気のある方法であるため、ショッピング カートのデータベースの設計を考慮して、user_id は追加されません。ユーザーはログインしていなくても商品をショッピング カートに入れることができます。
次に、ショッピング カートがどのユーザーに属しているかを識別するには、ユーザーの対応するショッピング カートの一意の識別コードである session_id を使用する必要があります。生成されたコードは、ショッピング カート オブジェクト Cart のコンストラクターに配置できます。



コードをコピーします

コードは次のとおりです:

/*** ショッピングカートの買い物方法* @param string $cart_id ショッピングカートID
*/
public function __construct()
{
Zend_Session::start ();
$this->_session = new Zend_Session_Namespace('ShopCart');
if(!isset($this->_session->session_id))
{
$this-> _session->session_id = md5(uniqid(mt_rand(), true));
$this->_session->info = array();
$this->_cart_id = $this->_session ->session_id;
}


この設計の利点は、ログインせずにショッピング カートを使用できることです。欠点は、2 人でコンピュータを共有していることです。製品が属する人。
3 番目のポイントは、ショッピング カートに商品を追加することです。
ショッピングカートに商品を追加する、ここでは 2 つのアクションとして考えます。
最初のアクション: ショッピング カート データベースに商品を追加します。
2 番目のアクション: ショッピング カート内のすべての商品を見つけて表示します。
最初は最初のアクションです:



コードをコピーします

コードは次のとおりです:
/***商品を追加*/ public function GoodsAddAction()
{
// get request を使用して商品を追加します
$goods_id = $this->_getParam('goods_id');//商品ID
$goods_spec = $this->_getParam('filter_name');//商品属性(色、サイズ)
$goods_number = $this -> _getParam('goods_number');//商品の数量
$promote_name = $this->_getParam('promote_name', 'Default');//プロモーション戦略
//ショッピングカートインスタンスを取得
$cartB = $this->gt ;_getCart();
$cartB->goodsAdd($goods_id, $goods_spec, $goods_number, $promote_name);
// 正常に追加されました。次のステップに進み、ショッピング カート内のすべての商品を見つけます。を入力して表示します。
$this->_showMessage(Bll_Context::isError() ? Bll_Context::getError() : '買い物かごに正常に追加されました!', Bll_Context::getRecirect('/orderv2'), 3);上記のコードの 15 行目:
$cartB->goodsAdd($goods_id, $goods_spec, $goods_number, $promote_name);
これは製品の追加操作関数であり、$promote_name はプロモーション、特に戦略のパラメーターです。モデルに応じてどのプロモーション戦略を選択するかについては、次の記事で詳しく説明する予定です。ここで知っておく必要があるのは、この製品の基本情報を追加し、ショッピング カート データベースに保存することだけです。
2 番目のステップは 2 番目のアクションです:



コードをコピーします
コードは次のとおりです:


/**
* 買い物リスト
*/
public functionindexAction() { //ショッピングカートを取得instance$cartB = $ this->_getCart(); //ショッピングカート内のすべてのアイテムをリストします
$this->view->goods_list = $cartB->goodsViewList();ルールメッセージを表示するためのルール 例 list
$this->view->tips = $cartB->goodsTipRules();
//ショッピングカート内のアイテムの総数
$this->view->total_number = $cartB->getTotalGoodsNumber ();
//ショッピングカート内の商品の合計金額を取得します
$this->view->total_amount = $cartB->getTotalAmount();

ユーザーは商品を追加せずにショッピング カートを直接クリックすることもできるため、ここでの最初と 2 番目のアクションは分離する必要があります。

以下はレンダリングです:



初めて投稿するため、至らない点や不明点があるかもしれませんが、ご容赦ください。議論へようこそ!

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/324979.html技術記事まず、ショッピングカートのデータベース設計: 1. id 2. Goods_id 製品 ID 3. session_id ショッピングカート ID 4. Goods_sn 製品コード 5. Goods_name 製品名 6. shop_price 製品モール価格 7....
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。