この記事では、優れたショッピング カート効果をすべての人に推奨します。ここでの主な要件には、php で書かれたショッピング カート クラス、jquery を使用した Ajax 操作、jquery プラグインのシックボックスなどがあります。以下を見てみましょう。
ショッピングカートカテゴリ: shop_cart.php
ショッピングカート操作:cart_action.php
ホームページ:index.html
Ajax操作はjqueryを使用しており、jqueryプラグインのthickboxもあります
これ以上言う必要はありません。エフェクトの例をご覧ください
もちろんショッピングカートの中核となるのはshop_cart.phpですが、外部操作用のcart_action.phpも導入しているので非常にシンプルなクラスです。したがって、このクラスは非常に合理化されているように見えます。
ショッピングカートクラス shop_cart.php
コードは次のとおりです |
コードをコピー |
カート名 = $name;
$this->items = $_SESSION[$this->カート名];
}
/**
* setItemQuantity() - アイテムの数量を設定します。
*
* @param string $order_code 商品の注文コード
* @param int $quantity 数量。 */
function setItemQuantity($order_code, $quantity) {
$this->items[$order_code] = $数量;
}
/**
* getItemPrice() - アイテムの価格を取得します。
*
* @param string $order_code 商品の注文コード
* @return int 価格。 */
function getItemPrice($order_code) {
// ここでコードが価格を取得します
// このチュートリアルではすべて $9.99 かかるとだけ言っておきます。
9.99 を返します;
}
/**
* getItemName() - アイテムの名前を取得します。
*
* @param string $order_code 商品の注文コード */
function getItemName($order_code) {
// 製品名を取得するコードがここにあります
// このチュートリアルでは一般的なものを返します。
return '私の製品 (' . $order_code . ')';
}
/**
* getItems() - すべてのアイテムを取得します。
*
* @return 配列のアイテム */
関数 getItems() {
$this->アイテムを返す;
}
/**
* hasItems() - カートに商品があるかどうかを確認します。
*
* @return bool 項目がある場合は True */
関数 hasItems() {
return (bool) $this->items;
}
/**
* getItemQuantity() - カート内の商品の数量を取得します。
*
* @param string $order_code 注文コードです。
* @return int 数量。 */
function getItemQuantity($order_code) {
return (int) $this->items[$order_code];
}
/**
* clean() - カートの内容をクリーンアップします。 が付いたアイテムがある場合
* 数量が 1 未満の場合は削除してください。 */
関数 clean() {
foreach ( $this->items as $order_code=>$quantity ) {
if ( $quantity
}
}
/**
* save() - カートをセッション変数に保存します。 */
関数 save() {
$this->clean();
$_SESSION[$this->カート名] = $this->アイテム;
}
}
?>
|
cart_action の場合、shop_cart クラスとインデックスの間の中間の役割を実装し、商品の更新、削除、追加に使用されます。
カート_アクション.php
コードは次のとおりです |
コードをコピー |
getItemQuantity($_GET['order_code'])+$_GET['数量'];
$Cart->setItemQuantity($_GET['order_code'], $quantity);
}その他{
if ( !empty($_GET['数量']) ) {
foreach ( $_GET['quantity'] as $order_code=>$quantity){
$Cart->setItemQuantity($order_code, $quantity);
}
}
if ( !empty($_GET['remove']) ) {
foreach ( $_GET['remove'] as $order_code ) {
$Cart->setItemQuantity($order_code, 0);
}
}
}
$カート->保存();
header('場所: cart.php');
?>
|
これはindex.html实现对追加操作、つまり追加操作です
代码如下 |
复制幣 |
<頭>
ショッピング カート
ショッピングカート
hasItems() ) : ?>
<フォームアクション="cart_action.php" メソッド="get">
<テーブルid="カート">
数量 |
商品名 |
商品编号 |
单价 |
总价 |
删除 |
---|
$total_price = $i = 0;
foreach ( $Cart->getItems() as $order_code=>$quantity ) :
$total_price += $quantity*$Cart->getItemPrice($order_code);
?>
" : " "; ?>
| getItemName($order_code); ?> |
|
$getItemPrice($order_code); ?> |
$getItemPrice($order_code)*$quantity); ?> |
|
您的消費总金额是:¥ |
表>
フォーム>
您还没有购物。
加ダウンロード简单の购物车
|