Php 弹出消息后刷新页面

Php 弹出消息后刷新页面,php,Php,当我关闭以下代码的弹出消息时,我需要刷新页面。对于要在购物车中显示的产品,否则它们将仅在关闭警告弹出窗口后手动刷新页面时显示 我该怎么做 if ($quantity > $product->product_quantity & $product->delivery_times_id == "0") { JError::raiseWarning('', _JSHOP_INFO_ERRO_QTD_STOCK); } 以下是完整的功能: function

当我关闭以下代码的弹出消息时,我需要刷新页面。对于要在购物车中显示的产品,否则它们将仅在关闭警告弹出窗口后手动刷新页面时显示

我该怎么做

if ($quantity > $product->product_quantity & $product->delivery_times_id == "0") { 
    JError::raiseWarning('', _JSHOP_INFO_ERRO_QTD_STOCK);   
}
以下是完整的功能:

 function add($product_id, $quantity, $attr_id, $freeattributes){
    $jshopConfig = JSFactory::getConfig();
    if ($quantity <= 0) return 0;
    $updateqty = 1;

    JPluginHelper::importPlugin('jshoppingcheckout');
    $dispatcher = JDispatcher::getInstance();
    $dispatcher->trigger('onBeforeAddProductToCart', array(&$this, &$product_id, &$quantity, &$attr_id, &$freeattributes, &$updateqty) );

    $attr_serialize = serialize($attr_id);
    $free_attr_serialize = serialize($freeattributes);

    $product = JTable::getInstance('product', 'jshop');
    $product->load($product_id);


    //quantidade superior ao stock
    if ($quantity > $product->product_quantity & $product->delivery_times_id == "0") { 
        JError::raiseWarning('100', _JSHOP_INFO_ERRO_QTD_STOCK);    
    }


    //check attributes
    if ( (count($product->getRequireAttribute()) > count($attr_id)) || in_array(0, $attr_id)){
        JError::raiseNotice('', _JSHOP_SELECT_PRODUCT_OPTIONS);
        return 0;
    }

    //check free attributes
    if ($jshopConfig->admin_show_freeattributes){
        $allfreeattributes = $product->getListFreeAttributes();
        $error = 0;
        foreach($allfreeattributes as $k=>$v){
            if ($v->required && trim($freeattributes[$v->id])==""){
                $error = 1;
                JError::raiseNotice('', sprintf(_JSHOP_PLEASE_ENTER_X, $v->name));
            }
        }
        if ($error){
            return 0;
        }
    }

    $product->setAttributeActive($attr_id);
    $product->setFreeAttributeActive($freeattributes);
    $qtyInStock = $product->getQtyInStock();
    $pidCheckQtyValue = $product->getPIDCheckQtyValue();

    $new_product = 1;
    if ($updateqty){
    foreach ($this->products as $key => $value){
        if ($value['product_id'] == $product_id && $value['attributes'] == $attr_serialize && $value['freeattributes']==$free_attr_serialize){
            $product_in_cart = $this->products[$key]['quantity'];
            $save_quantity = $product_in_cart + $quantity;

            $sum_quantity = $save_quantity;
            foreach ($this->products as $key2 => $value2){
                if ($key==$key2) continue;
                if ($value2['pid_check_qty_value'] == $pidCheckQtyValue){
                    $sum_quantity += $value2["quantity"];
                    $product_in_cart += $value2["quantity"];
                }
            }

            if ($jshopConfig->max_count_order_one_product && $sum_quantity > $jshopConfig->max_count_order_one_product){
                JError::raiseNotice('', sprintf(_JSHOP_ERROR_MAX_COUNT_ORDER_ONE_PRODUCT, $jshopConfig->max_count_order_one_product));
                return 0;
            }
            if ($jshopConfig->min_count_order_one_product && $sum_quantity < $jshopConfig->min_count_order_one_product){
                JError::raiseNotice('', sprintf(_JSHOP_ERROR_MIN_COUNT_ORDER_ONE_PRODUCT, $jshopConfig->min_count_order_one_product));
                return 0;
            }

            if (!$product->unlimited && $jshopConfig->controler_buy_qty && ($sum_quantity > $qtyInStock)){
                $balans = $qtyInStock - $product_in_cart;
                if ($balans < 0) $balans = 0;
                JError::raiseWarning('', sprintf(_JSHOP_ERROR_EXIST_QTY_PRODUCT_IN_CART, $this->products[$key]['quantity'], $balans));
                return 0;
            }

            $this->products[$key]['quantity'] = $save_quantity;                
            $this->products[$key]['price'] = $product->getPrice($this->products[$key]['quantity'], 1, 1, 1, $this->products[$key]);
            if ($jshopConfig->cart_basic_price_show){
                $this->products[$key]['basicprice'] = $product->getBasicPrice();
            }

            $dispatcher->trigger('onBeforeSaveUpdateProductToCart', array(&$this, &$product, $key));

            $new_product = 0;
            break;
        }
    }
    }

    if ($new_product){
        $product_in_cart = 0;
        foreach ($this->products as $key2 => $value2){
            if ($value2['pid_check_qty_value'] == $pidCheckQtyValue){
                $product_in_cart += $value2["quantity"];
            }
        }
        $sum_quantity = $product_in_cart + $quantity;

        if ($jshopConfig->max_count_order_one_product && $sum_quantity > $jshopConfig->max_count_order_one_product){
            JError::raiseNotice('', sprintf(_JSHOP_ERROR_MAX_COUNT_ORDER_ONE_PRODUCT, $jshopConfig->max_count_order_one_product));
            return 0;
        }
        if ($jshopConfig->min_count_order_one_product && $sum_quantity < $jshopConfig->min_count_order_one_product){
            JError::raiseNotice('', sprintf(_JSHOP_ERROR_MIN_COUNT_ORDER_ONE_PRODUCT, $jshopConfig->min_count_order_one_product));
            return 0;
        }

        if (!$product->unlimited && $jshopConfig->controler_buy_qty && ($sum_quantity > $qtyInStock)){
            $balans = $qtyInStock - $product_in_cart;
            if ($balans < 0) $balans = 0;
            JError::raiseWarning('', sprintf(_JSHOP_ERROR_EXIST_QTY_PRODUCT, $balans));
            return 0;
        }

        $product->getDescription();
        $temp_product['quantity'] = $quantity;
        $temp_product['product_id'] = $product_id;
        $temp_product['category_id'] = $product->getCategory();
        $temp_product['tax'] = $product->getTax();
        $temp_product['tax_id'] = $product->product_tax_id;
        $temp_product['product_name'] = $product->name;
        $temp_product['thumb_image'] = getPatchProductImage($product->getData('image'), 'thumb');
        $temp_product['delivery_times_id'] = $product->delivery_times_id;
        $temp_product['ean'] = $product->getEan();
        $temp_product['attributes'] = $attr_serialize;
        $temp_product['attributes_value'] = array();
        $temp_product['extra_fields'] = array();
        $temp_product['weight'] = $product->getWeight();
        $temp_product['vendor_id'] = fixRealVendorId($product->vendor_id);
        $temp_product['files'] = serialize($product->getSaleFiles());
        $temp_product['freeattributes'] = $free_attr_serialize;
        if ($jshopConfig->show_manufacturer_in_cart){
            $manufacturer_info = $product->getManufacturerInfo();
            $temp_product['manufacturer'] = $manufacturer_info->name;
        }else{
            $temp_product['manufacturer'] = '';
        }
        $temp_product['pid_check_qty_value'] = $pidCheckQtyValue;
        $i = 0;
        if (is_array($attr_id) && count($attr_id)){
            foreach($attr_id as $key=>$value){
                $attr = JTable::getInstance('attribut', 'jshop');
                $attr_v = JTable::getInstance('attributvalue', 'jshop');
                $temp_product['attributes_value'][$i] = new stdClass();
                $temp_product['attributes_value'][$i]->attr = $attr->getName($key);
                $temp_product['attributes_value'][$i]->value = $attr_v->getName($value);
                $i++;
            }
        }

        if ($jshopConfig->admin_show_product_extra_field && count($jshopConfig->getCartDisplayExtraFields())>0){
            $extra_field = $product->getExtraFields(2);                
            $temp_product['extra_fields'] = $extra_field;
        }

        $dispatcher->trigger('onBeforeSaveNewProductToCartBPC', array(&$this, &$temp_product, &$product));

        $temp_product['price'] = $product->getPrice($quantity, 1, 1, 1, $temp_product);
        if ($jshopConfig->cart_basic_price_show){
            $temp_product['basicprice'] = $product->getBasicPrice();
            $temp_product['basicpriceunit'] = $product->getBasicPriceUnit();
        }

        $dispatcher->trigger('onBeforeSaveNewProductToCart', array(&$this, &$temp_product, &$product));
        $this->products[] = $temp_product;
    }

    $this->loadPriceAndCountProducts();
    $this->reloadRabatValue();
    $this->saveToSession();
    $dispatcher->trigger('onAfterAddProductToCart', array(&$this, &$product_id, &$quantity, &$attr_id, &$freeattributes) );
    return 1;

}
函数添加($product\u id、$quantity、$attr\u id、$freeattributes){
$jshopConfig=JSFactory::getConfig();
if($quantity trigger('onBeforeAddProductToCart',array(&$this,&$product_id,&$quantity,&$attr_id,&$freeattributes,&$updateqty));
$attr\u serialize=序列化($attr\u id);
$free\u attr\u serialize=序列化($freeattributes);
$product=JTable::getInstance('product','jshop');
$product->load($product\U id);
//quantidade高级ao股票
如果($quantity>$product->product\u数量和$product->delivery\u次数\u id==“0”){
JError::RaiseWanning('100','JSHOP'u INFO'u ERRO'u QTD'u STOCK);
}
//检查属性
如果((count($product->getRequireAttribute())>count($attr_id))|在_数组中(0,$attr_id)){
JError::raiseNotice(“”,_JSHOP_SELECT_PRODUCT_OPTIONS);
返回0;
}
//检查自由属性
如果($jshopConfig->admin\u show\u freeattributes){
$allfreeattributes=$product->getListFreeAttributes();
$error=0;
foreach($k=>v的所有自由属性){
如果($v->required&&trim($freeattributes[$v->id])==“”){
$error=1;
JError::raiseNotice(“”,sprintf(_JSHOP_请输入_X,$v->name));
}
}
如果($error){
返回0;
}
}
$product->setAttributeActive($attr_id);
$product->setFreeAttributeActive($freeattributes);
$qtyInStock=$product->getQtyInStock();
$pidCheckQtyValue=$product->getPIDCheckQtyValue();
$new_产品=1;
如果($updateqty){
foreach($this->products as$key=>$value){
如果($value['product\u id']=$product\u id&$value['attributes']==$attr\u serialize&&$value['freeattributes']=$free\u attr\u serialize){
$product_in_cart=$this->products[$key]['quantity'];
$save_quantity=$product_in_cart+$quantity;
$sum_数量=$save_数量;
foreach($此->产品为$key2=>$value2){
如果($key==$key2)继续;
如果($value2['pid\u check\u qty\u value']=$pid检查qtyvalue){
$sum_数量+=$value2[“数量”];
$product_in_cart+=$value2[“数量”];
}
}
如果($jshopConfig->max\u count\u order\u one\u product&$sum\u quantity>$jshopConfig->max\u count\u order\u one\u product){
JError::raiseNotice(“”,sprintf(_JSHOP_ERROR_MAX_COUNT_ORDER_ONE_PRODUCT,$jshopConfig->MAX_COUNT_ORDER_ONE_PRODUCT));
返回0;
}
如果($jshopConfig->min\u count\u order\u one\u product&$sum\u quantity<$jshopConfig->min\u count\u order\u one\u product){
JError::raiseNotice(“”,sprintf(_JSHOP_ERROR_MIN_COUNT_ORDER_ONE_PRODUCT,$jshopConfig->MIN_COUNT_ORDER_ONE_PRODUCT));
返回0;
}
如果(!$product->UNMILIMITED&&$jshopConfig->controler\u buy\u数量&&($sum\u数量>$qtyInStock)){
$balans=$qtyInStock-$product\U in\U cart;
如果($balans<0)$balans=0;
JError::raiseWarning(“”,sprintf(_-JSHOP_-ERROR_-EXIST_-QTY_-PRODUCT_-IN_-CART,$this->products[$key]['quantity',$balans));
返回0;
}
$this->products[$key]['quantity']=$save\u quantity;
$this->products[$key]['price']=$product->getPrice($this->products[$key]['quantity'],1,1,1,$this->products[$key]);
如果($jshopConfig->cart\u basic\u price\u show){
$this->products[$key]['basicprice']=$product->getBasicPrice();
}
$dispatcher->trigger('onBeforeSaveUpdateProductToCart',数组(&$this,&$product,$key));
$new_产品=0;
打破
}
}
}
if($新产品){
$product\U in\U cart=0;
foreach($此->产品为$key2=>$value2){
如果($value2['pid\u check\u qty\u value']=$pid检查qtyvalue){
$product_in_cart+=$value2[“数量”];
}
}
$sum_quantity=$product_in_cart+$quantity;
如果($jshopConfig->max\u count\u order\u one\u product&$sum\u quantity>$jshopConfig->max\u count\u order\u one\u product){
JError::raiseNotice(“”,sprintf(_JSHOP_ERROR_MAX_COUNT_ORDER_ONE_PRODUCT,$jshopConfig->MAX_COUNT_ORDER_ONE_PRODUCT));
返回0;
}
如果($jshopConfig->min\u count\u order\u one\u product&$sum\u quantity<$jshopConfig->min\u count\u order\u one\u product){
JError::raiseNotice(“”,sprintf(_JSHOP_ERROR_MIN_COUNT_ORDER_ONE_PRODUCT,$jshopConfig->MIN_COUNT_ORDER_ONE_PRODUCT));
返回0;
}
如果(!$product->UNMILIMITED&&$jshopConfig->controler\u buy\u数量&&($sum\u数量>$qtyInStock)){
$balans=$qtyInStock-$product\U in\U cart;
如果($balans<0)$balans=0;
JError::raiseWarning(“”,sprintf(_-JSHOP_-ERROR_-EXIST_-QTY_-PRODUCT,$balans));
返回0;
}
$product->getDescription();
$temp_产品['quantity']=$quantity;
$temp_product['product_id']=$product_id;
$temp_product['category_id']=$product->getCategory();
$temp_product['tax']=$product->getTax();
$temp_product['tax_id']=$product->product_tax_id;
$temp\U product['product\U name']=$product->name;
$temp_product['thumb_image']=getPatchProductImage($product->getData('image'),'thumb');
$temp_product['delivery_times_id']=$product->delivery_times_id;
$temp_product['ean']=$product->getEan();
$temp_product['attributes']=$attr_serialize;
$temp_product['attributes_value']=array();
$temp_产品['额外_字段]