Пример #1
0
 public static function getSpecificPrice($id_product, $id_shop, $id_currency, $id_country, $id_group, $quantity, $id_product_attribute = null, $id_customer = 0, $id_cart = 0, $real_quantity = 0)
 {
     $specific_price = parent::getSpecificPrice($id_product, $id_shop, $id_currency, $id_country, $id_group, $quantity, $id_product_attribute, $id_customer, $id_cart, $real_quantity);
     if (Module::isEnabled('loyaltydiscount')) {
         include_once _PS_MODULE_DIR_ . DIRECTORY_SEPARATOR . 'loyaltydiscount' . DIRECTORY_SEPARATOR . 'classes' . DIRECTORY_SEPARATOR . 'LoyaltyDiscount.php';
         LoyaltyDiscountModel::applyPossibleDiscount($id_product, $id_shop, $specific_price);
     }
     return $specific_price;
 }
Пример #2
0
 public function delete()
 {
     if (parent::delete()) {
         // Flush cache when we deletind a new specific price
         self::$_specificPriceCache = array();
         Product::flushPriceCache();
         // Refresh cache of feature detachable
         Configuration::updateGlobalValue('PS_SPECIFIC_PRICE_FEATURE_ACTIVE', SpecificPrice::isCurrentlyUsed($this->def['table']));
         return true;
     }
     return false;
 }
Пример #3
0
function set_price_rule($ProductId,$itemNumber,$list){
	global $webService,$webservice_exi;
        
        $prices = SpecificPriceCore::getIdsByProductId($ProductId);
        $opt = array('resource' => 'specific_prices');
        foreach ($prices as $price_rule_id){
             $opt['id'] = (int)$price_rule_id['id_specific_price'];
             $xml = $webService->delete($opt);             
        }
        $parameter = array("ItemNumber"=>$itemNumber,
                        "List"=>$list,
			"key"=>"8770471727");
        $price_details = $webservice_exi->GetPrice($parameter);
        $price_details = $price_details->GetPriceResult->PriceListResult;
        if(isset($price_details->Vol1))
        savePriceRule($ProductId,$price_details->Vol1, $price_details->Price1,$price_details->LPrice);
        if(isset($price_details->Vol2))
        savePriceRule($ProductId,$price_details->Vol2, $price_details->Price2,$price_details->LPrice);
        if(isset($price_details->Vol3))
        savePriceRule($ProductId,$price_details->Vol3, $price_details->Price3,$price_details->LPrice);
        if(isset($price_details->Vol4))
        savePriceRule($ProductId,$price_details->Vol4, $price_details->Price4,$price_details->LPrice);
}
Пример #4
0
 /**
  * Get price priority
  *
  * @param null|int $idProduct
  *
  * @return array
  */
 public function getPricePriority($idProduct = null)
 {
     if (!$idProduct) {
         return [0 => "id_shop", 1 => "id_currency", 2 => "id_country", 3 => "id_group"];
     }
     $specific_price_priorities = \SpecificPriceCore::getPriority((int) $idProduct);
     // Not use id_customer
     if ($specific_price_priorities[0] == 'id_customer') {
         unset($specific_price_priorities[0]);
     }
     return array_values($specific_price_priorities);
 }