Skip to content

Commit

Permalink
[*] Broke dependency to Product::getPriceStatic in Cart::getOrderTotal
Browse files Browse the repository at this point in the history
  • Loading branch information
djfm committed Apr 15, 2015
1 parent e40e959 commit 42db57b
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 2 deletions.
23 changes: 22 additions & 1 deletion Adapter/Adapter_ProductPriceCalculator.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,26 @@

class Adapter_ProductPriceCalculator
{

public function getProductPrice(
$id_product,
$usetax = true,
$id_product_attribute = null,
$decimals = 6,
$divisor = null,
$only_reduc = false,
$usereduc = true,
$quantity = 1,
$force_associated_tax = false,
$id_customer = null,
$id_cart = null,
$id_address = null,
&$specific_price_output = null,
$with_ecotax = true,
$use_group_reduction = true,
Context $context = null,
$use_customer_price = true
)
{
return call_user_func_array(['Product', 'getPriceStatic'], func_get_args());
}
}
9 changes: 9 additions & 0 deletions Core/Foundation/Core_Foundation_IoC_ContainerBuilder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?php

class Core_Foundation_IoC_ContainerBuilder
{
public function build()
{
return new Core_Foundation_IoC_Container;
}
}
4 changes: 3 additions & 1 deletion classes/Cart.php
Original file line number Diff line number Diff line change
Expand Up @@ -1424,7 +1424,9 @@ public function getOrderTotal($with_taxes = true, $type = Cart::BOTH, $products
if (!Address::addressExists($id_address))
$id_address = null;

$price = Product::getPriceStatic(
$price_calculator = Adapter_ServiceLocator::get('Adapter_ProductPriceCalculator');

$price = $price_calculator->getProductPrice(
(int)$product['id_product'],
false,
(int)$product['id_product_attribute'],
Expand Down
4 changes: 4 additions & 0 deletions config/config.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@
require_once(_PS_ROOT_DIR_.'/config/settings.inc.php');
require_once(_PS_CONFIG_DIR_.'autoload.php');

$container_builder = new Core_Foundation_IoC_ContainerBuilder;
$container = $container_builder->build();
Adapter_ServiceLocator::setServiceContainerInstance($container);

/* Custom config made by users */
if (is_file(_PS_CUSTOM_CONFIG_FILE_))
include_once(_PS_CUSTOM_CONFIG_FILE_);
Expand Down

0 comments on commit 42db57b

Please sign in to comment.