本文整理汇总了PHP中ps_product::product_exists方法的典型用法代码示例。如果您正苦于以下问题:PHP ps_product::product_exists方法的具体用法?PHP ps_product::product_exists怎么用?PHP ps_product::product_exists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ps_product
的用法示例。
在下文中一共展示了ps_product::product_exists方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: update
/**
* updates the quantity of a product_id in the cart
* @author pablo
* @param array $d
* @return boolean result of the update
*/
function update(&$d)
{
global $VM_LANG, $vmLogger, $func, $page;
include_class("product");
$product_id = (int) $d["prod_id"];
$quantity = isset($d["quantity"]) ? (int) $d["quantity"] : 1;
$_SESSION['last_page'] = "shop.cart";
// Check for negative quantity
if ($quantity < 0) {
$vmLogger->warning($VM_LANG->_('PHPSHOP_CART_ERROR_NO_NEGATIVE', false));
return False;
}
if (!is_numeric($quantity)) {
$vmLogger->warning($VM_LANG->_('PHPSHOP_CART_ERROR_NO_VALID_QUANTITY', false));
return False;
}
if (!$product_id) {
return false;
}
$deleted_prod = 0;
$updated_prod = 0;
if ($quantity == 0 && strtolower($func) == "cartupdate") {
$deleted_prod = $this->delete($d);
} else {
for ($i = 0; $i < $_SESSION['cart']["idx"]; $i++) {
// modified for the advanced attribute modification
if ($_SESSION['cart'][$i]["product_id"] == $product_id && $_SESSION['cart'][$i]["description"] == $d["description"]) {
if (strtolower($func) == 'cartadd') {
$quantity += $_SESSION['cart'][$i]["quantity"];
}
// Get min and max order levels
list($min, $max) = ps_product::product_order_levels($product_id);
if ($min != 0 && $quantity < $min) {
eval("\$msg = \"" . $VM_LANG->_('VM_CART_MIN_ORDER', false) . "\";");
$vmLogger->warning($msg);
return false;
}
if ($max != 0 && $quantity > $max) {
eval("\$msg = \"" . $VM_LANG->_('VM_CART_MAX_ORDER', false) . "\";");
$vmLogger->warning($msg);
return false;
}
$quantity_options = ps_product::get_quantity_options($product_id);
if (!empty($quantity_options) && !empty($quantity_options['quantity_step'])) {
if ($quantity % $quantity_options['quantity_step'] > 0) {
continue;
}
}
// Remove deleted or unpublished products from the cart
if (!ps_product::product_exists($product_id)) {
$this->delete(array('product_id', $product_id));
continue;
}
// Check to see if checking stock quantity
if (CHECK_STOCK) {
$product_in_stock = ps_product::get_field($product_id, 'product_in_stock');
if (empty($product_in_stock)) {
$product_in_stock = 0;
}
if ($quantity > $product_in_stock) {
global $notify;
$_SESSION['notify'] = array();
$_SESSION['notify']['idx'] = 0;
$k = 0;
$notify = $_SESSION['notify'];
$_SESSION['notify'][$k]["prod_id"] = $product_id;
$_SESSION['notify'][$k]["quantity"] = $quantity;
$_SESSION['notify']['idx']++;
$page = 'shop.waiting_list';
return true;
}
}
$_SESSION['cart'][$i]["quantity"] = $quantity;
$updated_prod++;
}
}
}
if (!empty($_SESSION['coupon_discount'])) {
// Update the Coupon Discount !!
require_once CLASSPATH . 'ps_coupon.php';
ps_coupon::process_coupon_code($d);
}
ps_cart::saveCart();
return array($updated_prod, $deleted_prod);
}