本文整理汇总了PHP中Cart::getTaxesAverageUsed方法的典型用法代码示例。如果您正苦于以下问题:PHP Cart::getTaxesAverageUsed方法的具体用法?PHP Cart::getTaxesAverageUsed怎么用?PHP Cart::getTaxesAverageUsed使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cart
的用法示例。
在下文中一共展示了Cart::getTaxesAverageUsed方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getTaxesRate
public function getTaxesRate(Address $address)
{
/*
* EU-Legal
* alternative method for tax calculation instead of static taxrate (LEGAL_SHIPTAXMETH)
* Only if Cart exists and at least one product in cart, otherwise the alternative method could not be applied
*/
if (Configuration::get('LEGAL_SHIPTAXMETH') && ($cart = Context::getContext()->cart) && ($products = $cart->getProducts()) && !empty($products)) {
return Cart::getTaxesAverageUsed($cart->id);
}
return parent::getTaxesRate($address);
}
示例2: getValue
/**
* Return discount value
*
* @param integer $nb_discounts Number of discount currently in cart
* @param boolean $order_total_products Total cart products amount
* @return mixed Return a float value or '!' if reduction is 'Shipping free'
*/
public function getValue($nb_discounts = 0, $order_total_products = 0, $shipping_fees = 0, $idCart = false, $useTax = true)
{
$totalAmount = 0;
$cart = new Cart((int) $idCart);
if (!Validate::isLoadedObject($cart)) {
return 0;
}
if (!$this->cumulable and (int) $nb_discounts > 1 or !$this->active or !$this->quantity and !$cart->OrderExists()) {
return 0;
}
if ($this->usedByCustomer((int) $cart->id_customer) >= $this->quantity_per_user and !$cart->OrderExists()) {
return 0;
}
$date_start = strtotime($this->date_from);
$date_end = strtotime($this->date_to);
if ((time() < $date_start or time() > $date_end) and !$cart->OrderExists()) {
return 0;
}
$products = $cart->getProducts();
$categories = Discount::getCategories((int) $this->id);
foreach ($products as $product) {
if (count($categories) and Product::idIsOnCategoryId($product['id_product'], $categories)) {
$totalAmount += $this->include_tax ? $product['total_wt'] : $product['total'];
}
}
if ($this->minimal > 0 and $totalAmount < $this->minimal) {
return 0;
}
switch ($this->id_discount_type) {
/* Relative value (% of the order total) */
case 1:
$amount = 0;
$percentage = $this->value / 100;
foreach ($products as $product) {
if (Product::idIsOnCategoryId($product['id_product'], $categories)) {
if ($this->cumulable_reduction or !$product['reduction_applies'] and !$product['on_sale']) {
$amount += ($useTax ? $product['total_wt'] : $product['total']) * $percentage;
}
}
}
return $amount;
/* Absolute value */
/* Absolute value */
case 2:
// An "absolute" voucher is available in one currency only
$currency = (int) $cart->id_currency ? Currency::getCurrencyInstance($cart->id_currency) : Currency::getCurrent();
if ($this->id_currency != $currency->id) {
return 0;
}
$taxDiscount = Cart::getTaxesAverageUsed((int) $cart->id);
if (!$useTax and isset($taxDiscount) and $taxDiscount != 1) {
$this->value = abs($this->value / (1 + $taxDiscount * 0.01));
}
// Main return
$value = 0;
foreach ($products as $product) {
if (Product::idIsOnCategoryId($product['id_product'], $categories)) {
$value = $this->value;
}
}
// Return 0 if there are no applicable categories
return $value;
/* Free shipping (does not return a value but a special code) */
/* Free shipping (does not return a value but a special code) */
case 3:
return '!';
}
return 0;
}
示例3: getGiftWrappingPrice
public function getGiftWrappingPrice($with_taxes = true, $id_address = null)
{
static $address = array();
/*
* EU-Legal
* alternative method for tax calculation (LEGAL_SHIPTAXMETH)
*/
if (!Configuration::get('LEGAL_SHIPTAXMETH')) {
parent::getGiftWrappingPrice($with_taxes, $id_address);
}
$wrapping_fees = (double) Configuration::get('PS_GIFT_WRAPPING_PRICE');
if ($with_taxes && $wrapping_fees > 0) {
$tax_rate = Cart::getTaxesAverageUsed((int) $this->id);
-($wrapping_fees = $wrapping_fees * (1 + $tax_rate / 100));
}
return $wrapping_fees;
}
示例4: getTaxesAverageUsed
public function getTaxesAverageUsed()
{
return Cart::getTaxesAverageUsed((int) $this->id_cart);
}
示例5: getValue
/**
* Return discount value
*
* @param integer $nb_discounts Number of discount currently in cart
* @param boolean $order_total_products Total cart products amount
* @param boolean $shipping_fees Total cart products amount
* @param integer $id_cart Cart ID
* @param boolean $use_tax Enable tax calculations
* @return mixed Return a float value or '!' if reduction is 'Shipping free'
*/
public function getValue($nb_discounts = 0, $order_total_products = 0, $shipping_fees = 0, $id_cart = 0, $use_tax = true)
{
global $cart;
$c = $id_cart && isset($cart->id) && $cart->id == $id_cart ? $cart : ($id_cart ? new Cart((int) $id_cart) : null);
if (!Validate::isLoadedObject($c) || (!$this->cumulable && (int) $nb_discounts > 1 || !$this->active || !$this->quantity && !$c->OrderExists()) || $c->id_customer && $this->usedByCustomer((int) $c->id_customer, false) >= $this->quantity_per_user && !$c->OrderExists() || (time() < strtotime($this->date_from) || time() > strtotime($this->date_to)) && !$c->OrderExists()) {
return 0;
}
$products = $c->getProducts();
$categories = self::getCategories((int) $this->id, false);
$totalAmount = 0;
foreach ($products as $product) {
if (count($categories) && Product::idIsOnCategoryId($product['id_product'], $categories)) {
$totalAmount += $this->include_tax ? $product['total_wt'] : $product['total'];
}
}
if ($this->minimal > 0 && $totalAmount < $this->minimal) {
return 0;
}
switch ($this->id_discount_type) {
/* Relative value (% of the order total) */
case 1:
$amount = 0;
$percentage = $this->value / 100;
foreach ($products as $product) {
if (Product::idIsOnCategoryId($product['id_product'], $categories) && ($this->cumulable_reduction || !$product['reduction_applies'] && !$product['on_sale'])) {
$amount += ($use_tax ? $product['total_wt'] : $product['total']) * $percentage;
}
}
return $amount;
/* Absolute value */
/* Absolute value */
case 2:
/* This type of voucher is restricted to a specific currency */
if ($c->id_currency) {
$id_currency = (int) $c->id_currency;
} else {
global $cookie;
if ($cookie->id_currency) {
$id_currency = (int) $cookie->id_currency;
}
}
if (!isset($id_currency)) {
$id_currency = (int) _PS_CURRENCY_DEFAULT_;
}
if ($this->id_currency != $id_currency) {
return 0;
}
if (!$use_tax) {
$taxDiscount = Cart::getTaxesAverageUsed((int) $c->id);
if ($taxDiscount != 1) {
$this->value = abs($this->value / (1 + $taxDiscount * 0.01));
}
}
// Main return
$value = 0;
foreach ($products as $product) {
if (Product::idIsOnCategoryId($product['id_product'], $categories)) {
$value = $this->value;
}
}
// Return 0 if there are no applicable categories
return $value;
/* Free shipping (does not return a value but a special code) */
/* Free shipping (does not return a value but a special code) */
case 3:
return '!';
}
return 0;
}