diff --git a/core/lib/Thelia/Core/Template/Loop/Cart.php b/core/lib/Thelia/Core/Template/Loop/Cart.php index f6b4c6a01..b2121757a 100755 --- a/core/lib/Thelia/Core/Template/Loop/Cart.php +++ b/core/lib/Thelia/Core/Template/Loop/Cart.php @@ -13,6 +13,7 @@ use Thelia\Core\Template\Element\ArraySearchLoopInterface; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; +use Thelia\Core\Template\Loop\Argument\Argument; use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Model\CountryQuery; use Thelia\Type; @@ -41,7 +42,15 @@ class Cart extends BaseLoop implements ArraySearchLoopInterface */ protected function getArgDefinitions() { - return new ArgumentCollection(); + return new ArgumentCollection( + new Argument( + 'order', + new Type\TypeCollection( + new Type\EnumListType(array('reverse')) + ), + 'reverse' + ) + ); } public function buildArray() @@ -52,7 +61,19 @@ class Cart extends BaseLoop implements ArraySearchLoopInterface return array(); } - return iterator_to_array($cart->getCartItems()); + $returnArray = iterator_to_array($cart->getCartItems()); + + $orders = $this->getOrder(); + + foreach ($orders as $order) { + switch ($order) { + case "reverse": + $returnArray = array_reverse($returnArray, false); + break; + } + } + + return $returnArray; } public function parseResults(LoopResult $loopResult) diff --git a/templates/default/includes/addedToCart.html b/templates/default/includes/addedToCart.html index 808eea39c..5a82d761f 100644 --- a/templates/default/includes/addedToCart.html +++ b/templates/default/includes/addedToCart.html @@ -1,5 +1,5 @@