From c6cd32fec2720674ec7db02d139b469dee7daabc Mon Sep 17 00:00:00 2001 From: Etienne Roudeix Date: Thu, 7 Nov 2013 09:04:41 +0100 Subject: [PATCH] last cart item retreiver --- core/lib/Thelia/Core/Template/Loop/Cart.php | 25 +++++++++++++++++++-- templates/default/includes/addedToCart.html | 2 +- 2 files changed, 24 insertions(+), 3 deletions(-) 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 @@
- {loop type="cart" name="cartloop" position="last"} + {loop type="cart" name="cartloop" limit="1" order="reverse"}