How can i get last 3 added products of cart in magento.

I am using $session->getQuote()->getAllVisibleItems() for that.

Please Provide me if any other feasible solution


You can find answer by looking at getRecentItems method inside Mage_Checkout_Block_Cart_Sidebar class.

 * Get array of last added items
 * @param null $count
 * @return array
public function getRecentItems($count = null)
    if (!$this->getSummaryCount()) {
        return array();
    if ($count === null) {
        $count = $this->getItemCount();
    return array_slice(array_reverse($this->getItems()), 0, $count);

This applies to current customer session.

  • Can You Explain it how can i use i am new in magento. – Yogesh Jan 30 '15 at 20:52
  • @Yogesh It really depends what you want to do with these three products. – easymoden00b Jan 30 '15 at 20:55
  • Thanks For Reply Actaully i am using this $session->getQuote()->getAllVisibleItems() and it gives me all product array so i just need last 3 products – Yogesh Jan 30 '15 at 20:57

You could just iterate through the items and stop after 3.

$product_ids = array();
$cart = Mage::getModel('checkout/cart')->getQuote();
foreach ($cart->getAllItems() as $item) {
    if ($i==4) break;
    $product_ids[] = $item->getProduct()->getId();

  • 1
    You should use getAllVisibleItems(). – Lord Skeletor Jan 30 '15 at 19:36
  • Yes for sure. I missed that. I like your answer better about referring to the Mage_Checkout_Block_Cart_Sidebar class. – seanbreeden Jan 30 '15 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.