本文整理汇总了PHP中Cart::addProduct方法的典型用法代码示例。如果您正苦于以下问题:PHP Cart::addProduct方法的具体用法?PHP Cart::addProduct怎么用?PHP Cart::addProduct使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cart
的用法示例。
在下文中一共展示了Cart::addProduct方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testCartPreviewCount_DuplicateProducts
/**
* Test cart preview total product count when the same product is used multiple times
*/
public function testCartPreviewCount_DuplicateProducts()
{
$cart_srl = 774;
$cart = new Cart($cart_srl);
// Make sure we start with 4 products
$this->assertEquals(4, count($cart->getProducts()));
// Add one new product to cart (of the same type as one that already is in the cart)
$product_repository = new ProductRepository();
$product = $product_repository->getProduct(133);
$cart->addProduct($product, 1);
// Make sure new product was added to cart
$cart = new Cart($cart_srl);
$this->assertEquals(5, $cart->count(TRUE));
$cart_preview = new CartPreview($cart, 2);
$cart_preview_products = $cart_preview->getProducts();
$this->assertEquals(2, count($cart_preview_products));
$cart_products_count = $cart_preview->getCartProductsCount();
$this->assertEquals(5, $cart_products_count);
}
示例2: addToCartAction
/**
* @param Request $request
* @throws Exception
*/
public function addToCartAction(Request $request)
{
$id = $request->get('id');
if (!$id) {
throw new Exception('Bad request', 400);
}
$cart = new Cart();
$cart->addProduct($id);
header('Location: /cart/show');
}
示例3: loadApi
function loadApi($action)
{
switch ($action) {
case 'add_product':
if (!Request::has(array('productid', 'quantity'))) {
throw new Exception("Product not valid.");
}
try {
Cart::addProduct(Request::get('productid'), Request::get('quantity'));
$data = json_encode(array('error' => 'no', 'message' => 'Add product success.'));
return $data;
} catch (Exception $e) {
throw new Exception($e->getMessage());
}
break;
}
}
示例4: actionAjax
/**
* @param $id
* @return bool
* Метод для добавления товара с помощью ajax
*/
public function actionAjax($id)
{
return Cart::addProduct($id);
}
示例5: Product
<?php
require_once 'classes/ec/product.php';
require_once 'classes/ec/cart.php';
$product = new Product($_POST['id']);
$cart = new Cart();
$cart->addProduct($product);
header('Location: cart_list.php');
exit;
示例6: addProduct
private $p = [];
public function addProduct($k, $p)
{
$this->p[$k] = (double) $p;
}
public function getTotal($tax)
{
$sum = 0;
array_walk($this->p, function ($val) use($tax, &$sum) {
$sum += $val * ($tax + 1.0);
});
return $sum;
}
}
$cart = new Cart();
$cart->addProduct('apple', 10);
$cart->addProduct('rasberry', 45);
echo $cart->getTotal(0.196);
var_dump('------- static private-------');
$sum = function ($v) {
return function () use($v) {
return ++$v;
};
};
$r = $sum(10);
echo $r();
$r = $sum(10);
echo $r();
var_dump('---------- Exemple de contexte global pour une variable PHP');
$val = 10;
function baz()
示例7: actionAddAjax
/**
* Action для добавления товара в корзину при помощи асинхронного запроса (ajax)
* @param integer $id <p>id товара</p>
*/
public function actionAddAjax($id)
{
// Добавляем товар в корзину и печатаем результат: количество товаров в корзине
echo '(' . Cart::addProduct($id) . ')';
return true;
}
示例8: testAddProduct
public function testAddProduct()
{
$cart = new Cart(774);
$pRepo = new ProductRepository();
$product1 = $pRepo->getProduct(130);
$product2 = $pRepo->getProduct(133);
$cart->emptyCart();
$this->assertEquals(0, $cart->count(), "Delete didn't work");
$cart->addProduct($product1);
$this->assertEquals(1, $cart->count(), "Adding product 1 failed");
$this->assertEquals($cart->count(), count($cart->getProducts()), "?");
$cart->addProduct($product2, 1405);
$this->assertEquals(2, $cart->count(), "Adding product 2 failed");
//getProducts should ignore its internal cache, so we tell it to.
$this->assertEquals($cart->count(), count($cart->getProducts(NULL, NULL, TRUE)), "?");
}
示例9: actionAdd
public function actionAdd($id)
{
echo Cart::addProduct($id);
return true;
}
示例10: getResponse
public function getResponse()
{
$this->doorGets->checkAjaxMode();
$response = array('code' => 404, 'data' => array());
$arrayAction = array('index' => 'Home', 'add' => 'add', 'plus' => 'plus', 'minus' => 'minus', 'remove' => 'remove', 'shippingMethod' => 'shippingMethod');
$out = '';
$params = $this->doorGets->Params();
$modules = $this->doorGets->getAllActiveModules();
$lgActuel = $this->doorGets->getLangueTradution();
$lg = 'en';
if (array_key_exists('lg', $params['GET']) && array_key_exists($params['GET']['lg'], $this->doorGets->allLanguages)) {
$lg = $this->doorGets->myLanguage = $params['GET']['lg'];
}
if (array_key_exists($this->Action, $arrayAction)) {
switch ($this->Action) {
case 'index':
break;
case 'add':
if (true) {
$uri = array_key_exists('uri', $params['GET']) && !empty($params['GET']['uri']) ? $params['GET']['uri'] : '';
$quantity = array_key_exists('qty', $params['GET']) && !empty($params['GET']['qty']) ? (int) $params['GET']['qty'] : 1;
$id = array_key_exists('id', $params['GET']) && !empty($params['GET']['id']) ? $params['GET']['id'] : '';
if (empty($quantity)) {
$quantity = 1;
}
if (!empty($uri) && !empty($id) && array_key_exists($uri, $modules)) {
$sqlUri = $this->doorGets->getRealUri($uri);
$table = '_m_' . $sqlUri;
$tableTraduction = $table . '_traduction';
$isContent = $this->doorGets->dbQS($id, $table);
if (!empty($isContent)) {
$idTraduction = $this->doorGets->getIdContentTraduction($isContent);
if (!is_null($idTraduction)) {
$isContentTraduction = $this->doorGets->dbQS($idTraduction, $tableTraduction);
if (!empty($isContentTraduction)) {
$product = array('uri' => $uri, 'id' => $id, 'quantity' => $quantity);
$Cart = new Cart($this->doorGets);
$Cart->addProduct($product);
$Cart->save();
$products = $Cart->getProducts();
$productName = $products[$uri . '-' . $id]['title'];
$response = array('code' => 200, 'data' => array('message' => $productName . ' ' . $this->doorGets->__("est dans votre panier") . '.', 'products' => $Cart->getProducts(), 'count' => $Cart->getCount(), 'totalAmount' => number_format($Cart->getTotalAmount(), 2, ',', ' '), 'totalAmountVat' => number_format($this->vat * $Cart->getTotalAmount() + $Cart->shippingAmount, 2, ',', ' '), 'subtotalAmountVat' => $Cart->getSubTotalAmountPromoVAT(true), 'totalAmountPromo' => number_format($Cart->getTotalAmountPromo(), 2, ',', ' '), 'totalAmountPromoVat' => number_format($this->vat * $Cart->getTotalAmountPromo() + $Cart->shippingAmount, 2, ',', ' '), 'shippingAmount' => $Cart->getShippingAmount(), 'langue' => $lg, 'uri' => $uri));
}
}
}
}
}
break;
case 'minus':
if (array_key_exists('uri', $params['GET'])) {
$uri = $params['GET']['uri'];
$Cart = new Cart($this->doorGets);
$newAmount = $Cart->minusProduct($uri);
$Cart->save();
$response = array('code' => 200, 'data' => array('message' => $this->doorGets->__("Le quantité du produit a été mise à jour") . '.', 'products' => $Cart->getProducts(true), 'count' => $Cart->getCount(), 'totalAmount' => $Cart->getTotalAmount(true), 'totalAmountVat' => $Cart->getTotalAmountVAT(true), 'subtotalAmountVat' => $Cart->getSubTotalAmountPromoVAT(true), 'totalAmountPromo' => $Cart->getTotalAmountPromo(true), 'totalAmountPromoVat' => $Cart->getTotalAmountPromoShippingVAT(true), 'shippingAmount' => $Cart->getShippingAmount(), 'langue' => $lg, 'newAmount' => $newAmount, 'uri' => $uri));
}
break;
case 'plus':
if (array_key_exists('uri', $params['GET'])) {
$uri = $params['GET']['uri'];
$Cart = new Cart($this->doorGets);
$newAmount = $Cart->plusProduct($uri);
$Cart->save();
$response = array('code' => 200, 'data' => array('message' => $this->doorGets->__("Le quantité du produit a été mise à jour") . '.', 'products' => $Cart->getProducts(true), 'count' => $Cart->getCount(), 'totalAmount' => $Cart->getTotalAmount(true), 'totalAmountVat' => $Cart->getTotalAmountVAT(true), 'subtotalAmountVat' => $Cart->getSubTotalAmountPromoVAT(true), 'totalAmountPromo' => $Cart->getTotalAmountPromo(true), 'totalAmountPromoVat' => $Cart->getTotalAmountPromoShippingVAT(true), 'shippingAmount' => $Cart->getShippingAmount(), 'langue' => $lg, 'newAmount' => $newAmount, 'uri' => $uri));
}
break;
case 'remove':
if (array_key_exists('uri', $params['GET'])) {
$uri = $params['GET']['uri'];
$Cart = new Cart($this->doorGets);
$Cart->removeProduct($uri);
$Cart->save();
$response = array('code' => 200, 'data' => array('message' => $this->doorGets->__("Le produit a été supprimé de votre panier") . '.', 'products' => $Cart->getProducts(true), 'count' => $Cart->getCount(), 'totalAmount' => $Cart->getTotalAmount(true), 'totalAmountVat' => $Cart->getTotalAmountVAT(true), 'subtotalAmountVat' => $Cart->getSubTotalAmountPromoVAT(true), 'totalAmountPromo' => $Cart->getTotalAmountPromo(true), 'totalAmountPromoVat' => $Cart->getTotalAmountPromoShippingVAT(true), 'shippingAmount' => $Cart->getShippingAmount(), 'langue' => $lg, 'uri' => $uri));
}
break;
case 'shippingMethod':
if (array_key_exists('key', $params['GET'])) {
$key = $params['GET']['key'];
$Cart = new Cart($this->doorGets);
$Cart->setShippingMethod($key);
$Cart->save();
$response = array('code' => 200, 'data' => array('message' => $this->doorGets->__("Le prix de la livraison est à jour") . '.', 'products' => $Cart->getProducts(true), 'count' => $Cart->getCount(), 'totalAmount' => $Cart->getTotalAmount(true), 'totalAmountVat' => $Cart->getTotalAmountVAT(true), 'subtotalAmountVat' => $Cart->getSubTotalAmountPromoVAT(true), 'totalAmountPromo' => $Cart->getTotalAmountPromo(true), 'totalAmountPromoVat' => $Cart->getTotalAmountPromoShippingVAT(true), 'shippingAmount' => $Cart->getShippingAmount(), 'langue' => $lg));
}
break;
}
}
return json_encode($response, JSON_FORCE_OBJECT);
}
示例11: loadApi
function loadApi($action)
{
switch ($action) {
case 'htmlpopupdata':
$htmlData = Cart::htmlPopupData();
$data = json_encode(array('data' => $htmlData));
return $data;
break;
case 'add_product':
if (!Request::has(array('productid', 'quantity'))) {
throw new Exception("Product not valid.");
}
try {
Cart::addProduct(Request::get('productid'), Request::get('quantity'));
$data = json_encode(array('error' => 'no', 'message' => 'Add product success.'));
return $data;
} catch (Exception $e) {
throw new Exception($e->getMessage());
}
break;
case 'remove_product':
if (!Request::has('productid')) {
throw new Exception("Product not valid.");
}
Cart::removeProduct(Request::get('productid'));
$data = json_encode(array('error' => 'no', 'message' => 'Remove product success.'));
return $data;
break;
case 'remove_coupon':
if (!Request::has('code')) {
throw new Exception("Coupon not valid.");
}
Cart::removeCoupon();
$data = json_encode(array('error' => 'no', 'message' => 'Remove coupon success.'));
return $data;
break;
case 'remove_voucher':
if (!Request::has('code')) {
throw new Exception("Voucher not valid.");
}
Cart::removeVoucher();
$data = json_encode(array('error' => 'no', 'message' => 'Remove voucher success.'));
return $data;
break;
case 'clear':
Cart::clear();
$data = json_encode(array('error' => 'no', 'message' => 'Clear cart success.'));
return $data;
break;
case 'add_coupon':
if (!Request::has('code')) {
throw new Exception("Coupon code not valid.");
}
try {
Cart::addCoupon(Request::get('code'));
$data = json_encode(array('error' => 'no', 'message' => 'Add coupon success.'));
return $data;
} catch (Exception $e) {
throw new Exception($e->getMessage());
}
break;
case 'add_voucher':
if (!Request::has('code')) {
throw new Exception("Voucher code not valid.");
}
try {
Cart::addVoucher(Request::get('code'));
$data = json_encode(array('error' => 'no', 'message' => 'Add voucher success.'));
return $data;
} catch (Exception $e) {
throw new Exception($e->getMessage());
}
break;
}
}
示例12: Cart
<?php
require_once ROOT . DS . 'controllers' . DS . 'cart.class.php';
require_once ROOT . DS . 'controllers' . DS . 'cookie.class.php';
require_once 'db.class.php';
$cart = new Cart();
$db = new DB($db_host, $db_user, $db_password, $db_name);
$action = isset($_GET['action']) ? $_GET['action'] : 'list';
if ($action == 'add') {
$id = $_GET['id'];
$cart->addProduct($id);
header('Location: index.php');
} elseif ($action == 'delete') {
$id = $_GET['id'];
$cart->deleteProduct($id);
header('Location: cart.php');
} elseif ($action == 'clear') {
$cart->clear();
header('Location: cart.php');
} else {
if ($cart->isEmpty()) {
echo "Cart is empty";
} else {
$id_sql = $cart->getProducts(true);
$sql = "SELECT * FROM books WHERE id IN ({$id_sql})";
$books = $db->query($sql);
echo "My cart: <br>";
foreach ($books as $book) {
echo "<b>{$book['title']}</b> <a href='cart.php?action=delete&id={$book['id']}'>Delete from cart</a> <br>";
}
}
示例13: getPrice
public function getPrice()
{
return $this->price;
}
}
class Cart
{
private $products = array();
public function addProduct($product)
{
$product->applyPriceDown();
$this->products[] = $product;
}
public function getTotalPrice()
{
$total = 0;
foreach ($this->products as $product) {
$total += $product->getPrice();
}
return $total;
}
}
$cart = new Cart();
$meet = new Meet();
$vegetable = new Vegetable();
$freezed = new FreezedFood();
$cart->addProduct($meet);
$cart->addProduct($vegetable);
$cart->addProduct($freezed);
$total = $cart->getTotalPrice();
var_dump($total);