This article will recommend a good shopping cart effect. The main requirements here include a few things. One is written in php for the shopping cart class, and the other is jquery for Ajax operations, there is also a jquery plug-in thickbox. Let's take a look.
Shopping cart type: shop_cart.php
Shopping Cart operation: cart_action.php
Home: index.html
Jquery is used for Ajax operations, and a jquery plug-in thickbox
Let's not talk about it anymore. You can first look at the effect example.
Shop_cart.php is of course the core of the shopping cart, but this class is very simple, because he introduced cart_action.php for external operations. So this class seems quite streamlined.
Shopping Cart class shop_cart.php
The Code is as follows: |
Copy code |
Cart_name = $ name; $ This-> items =$ _ SESSION [$ this-> cart_name]; } /** * SetItemQuantity ()-Set the quantity of an item. * * @ Param string $ order_code The order code of the item. * @ Param int $ quantity The quantity. */ Function setItemQuantity ($ order_code, $ quantity ){ $ This-> items [$ order_code] = $ quantity; } /** * GetItemPrice ()-Get the price of an item. * * @ Param string $ order_code The order code of the item. * @ Return int The price. */ Function getItemPrice ($ order_code ){ // This is where the code taht retrieves prices // Goes. We'll just say everything costs $9.99 for this tutorial. Return 9.99; } /** * GetItemName ()-Get the name of an item. * * @ Param string $ order_code The order code of the item. */ Function getItemName ($ order_code ){ // This is where the code that retrieves product names // Goes. We'll just return something generic for this tutorial. Return 'my Product ('. $ order_code .')'; } /** * GetItems ()-Get all items. * * @ Return array The items. */ Function getItems (){ Return $ this-> items; } /** * HasItems ()-Checks to see if there are items in the cart. * * @ Return bool True if there are items. */ Function hasItems (){ Return (bool) $ this-> items; } /** * GetItemQuantity ()-Get the quantity of an item in the cart. * * @ Param string $ order_code The order code. * @ Return int The quantity. */ Function getItemQuantity ($ order_code ){ Return (int) $ this-> items [$ order_code]; } /** * Clean ()-Cleanup the cart contents. If any items have * Quantity less than one, remove them. */ Function clean (){ Foreach ($ this-> items as $ order_code => $ quantity ){ If ($ quantity <1) unset ($ this-> items [$ order_code]); } } /** * Save ()-Saves the cart to a session variable. */ Function save (){ $ This-> clean (); $ _ SESSION [$ this-> cart_name] = $ this-> items; } } ?> |
For cart_action, it implements the intermediate role of the shop_cart class and index for updating, deleting, and adding commodity operations.
Cart_action.php
The Code is as follows: |
Copy code |
GetItemQuantity ($ _ GET ['order _ Code']) + $ _ GET ['quantity ']; $ Cart-> setItemQuantity ($ _ GET ['order _ Code'], $ quantity ); } Else { If (! Empty ($ _ GET ['quantity ']) { Foreach ($ _ GET ['quantity '] as $ order_code => $ quantity ){ $ Cart-> setItemQuantity ($ order_code, $ quantity ); } } If (! Empty ($ _ GET ['delete']) { Foreach ($ _ GET ['delete'] as $ order_code ){ $ Cart-> setItemQuantity ($ order_code, 0 ); } } } $ Cart-> save (); Header ('location: cart. php '); ?> |
You can also perform external operations by using javasindex.html, that is, adding operations.
The Code is as follows: |
Copy code |
<! DOCTYPE html PUBLIC "-// W3C // dtd xhtml 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <Html xmlns = "http://www.w3.org/1999/xhtml"> <Head> <META HTTP-EQUIV = "Content-Type" CONTENT = "text/html; charset = UTF-8"> <Title> Shopping Cart </title> <Script src = "js/jquery-1.2.6.pack.js" type = "text/javascript"> </script> <Script src = "js/jquery. color. js" type = "text/javascript"> </script> <Script src = "js/thickbox. js" type = "text/javascript"> </script> <Script src = "js/cart. js" type = "text/javascript"> </script> <Link href = "css/style.css" rel = "stylesheet" type = "text/css" media = "screen"/> <Link href = "css/thickbox.css" rel = "stylesheet" type = "text/css" media = "screen"/> <Script type = "text/javascript"> $ (Function (){ $ ("Form. cart_form"). submit (function (){ Var title = "Your Shopping Cart "; Var orderCode = $ ("input [name = order_code]", this). val (); Var quantity = $ ("input [name = quantity]", this). val (); Var url = "cart_action.php? Order_code = "+ orderCode +" & amp; quantity = "+ quantity +" & amp; amp; TB_iframe = true & amp; height = 400 & amp; width = 780 "; Tb_show (title, url, false ); Return false; }); }); </Script> </Head> <Body> <Div id = "container"> <H1> shopping cart <A href = "cart. php? KeepThis = true & amp; TB_iframe = true & amp; height = 400 & amp; width = 780 "title =" Your Shopping Cart "class =" thickbox "> open the Shopping Cart </a> <Hr/> <A href = "cart_action.php? Order_code = KWL-JFE & amp; quantity = 3 & amp; TB_iframe = true & amp; height = 400 & amp; width = 780 "title =" Your Shopping Cart "class =" thickbox "> Add three KWL-JFE to the Cart </a> <Hr/> <Form class = "cart_form" action = "cart_action.php" method = "get"> <Input type = "hidden" name = "order_code" value = "KWL-JFE"/> <Label> KWL-JFE: <input class = "center" type = "text" name = "quantity" value = "1" size = "3"?> </Label> <Input type = "submit" name = "submit" value = "add to shopping cart"/> </Form> </Div> </Body> </Html> |
And cart. php. This is our shopping cart.
The Code is as follows: |
Copy code |
<? Php Include ('shopping _ cart. class. php '); Session_start (); $ Cart = new Shopping_Cart ('shopping _ cart '); ?> <! DOCTYPE html PUBLIC "-// W3C // dtd xhtml 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <Html xmlns = "http://www.w3.org/1999/xhtml"> <META HTTP-EQUIV = "Content-Type" CONTENT = "text/html; charset = UTF-8"> <Head> <Title> Shopping Cart </title> <Script src = "js/jquery-1.2.6.pack.js" type = "text/javascript"> </script> <Script src = "js/jquery. color. js" type = "text/javascript"> </script> <Script src = "js/cart. js" type = "text/javascript"> </script> <Link href = "css/cart.css" rel = "stylesheet" type = "text/css" media = "screen"/> </Head> <Body> <Div id = "container"> <H1> Shopping Cart <? Php if ($ Cart-> hasItems ():?> <Form action = "cart_action.php" method = "get"> <Table id = "cart"> <Tr> <Th> quantity </th> <Th> product name </th> <Th> item No. </th> <Th> unit price </th> <Th> total price </th> <Th> Delete </th> </Tr> <? Php $ Total_price = $ I = 0; Foreach ($ Cart-> getItems () as $ order_code => $ quantity ): $ Total_price + = $ quantity * $ Cart-> getItemPrice ($ order_code ); ?> <? Php echo $ I ++ % 2 = 0? "<Tr>": "<tr class = 'odd'>";?> <Td class = "quantity center"> <input type = "text" name = "quantity [<? Php echo $ order_code;?>] "Size =" 3 "value =" <? Php echo $ quantity;?> "Tabindex =" <? Php echo $ I;?> "/> </Td> <Td class = "item_name"> <? Php echo $ Cart-> getItemName ($ order_code);?> </Td> <Td class = "order_code"> <? Php echo $ order_code;?> </Td> <Td class = "unit_price" >$ <? Php echo $ Cart-> getItemPrice ($ order_code);?> </Td> <Td class = "extended_price" >$ <? Php echo ($ Cart-> getItemPrice ($ order_code) * $ quantity);?> </Td> <Td class = "remove center"> <input type = "checkbox" name = "remove []" value = "<? Php echo $ order_code;?> "/> </Td> </Tr> <? Php endforeach;?> <Tr> <td colspan = "2"> </td> <td colspan = "3" id = "total_price"> your total consumption amount is: ¥ <? Php echo $ total_price;?> </Td> </tr> </Table> <Input type = "submit" name = "update" value = "save shopping cart"/> </Form> <? Php else:?> <P class = "center"> you have not purchased. </p> <? Php endif;?> <P> <a href = "load. php"> load a simple Shopping Cart </a> </p> </Div> </Body> </Html>
|
1 2