How To Get SKUs From Orders In Magento

This Magento tutorial will show you how to get all SKUs from orders of the user who is currently logged in in Magento.

For Example:

A user has placed 3 orders.

  • 1st order contains SKUs: 0001, 0002 and 0003
  • 2nd order contains SKUs: 0002 and 0004
  • 3rd order contains SKUs: 0001, 0002 and 0005

How can we get the returned list of SKUs including 0001, 0002, 0003, 0004, and 0005?

The aim of this is to create a list of all the products that the user has ordered on one page along with the product thumbnail, name, and a link to the product page.

3 Steps To Get SKUs From Orders In Magento

Step 1: Add a new tab to My Account

<layout version="0.1.0">
...
<customer_account>
	<reference name="customer_account_navigation">
            <action method="addLink" translate="label" module="yourmodule">
                <name>name</name>
                <path>controller_of_custommodule</path>
                <label>Your Label</label>
            </action>
        </reference>
</customer_account>
<yourmodule_default>
	<update handle="page_two_columns_left" />
	<reference name="left_first">
          <block type="customer/account_navigation" name="customer_account_navigation" before="-" template="customer/account/navigation.phtml">
            <action method="addLink" translate="label" module="customer"><name>account</name><path>customer/account/</path><label>Account Dashboard</label></action>
            <action method="addLink" translate="label" module="customer"><name>account_edit</name><path>customer/account/edit/</path><label>Account Information</label></action>
            <action method="addLink" translate="label" module="customer"><name>address_book</name><path>customer/address/</path><label>Address Book</label></action>
            <action method="addLink" translate="label" module="sales"><name>orders</name><path>sales/order/history/</path><label>My Orders</label></action>
            <action method="addLink" translate="label" module="wishlist" ifconfig="wishlist/general/active"><name>wishlist</name><path>wishlist/</path><label>My Wishlist</label></action>
            <action method="addLink" translate="label" module="yourmodule">
              <name>name</name>
              <path>controller_of_custommodule</path>
              <label>Your Label</label>
            </action>
          </block>
        </reference>
</yourmodule_default>
<yourmodule_index_index>
	<update handle="yourmodule_default" />
	<reference name="content">
            <block type="yourmodule/nameblock" name="yourmodule.nameblock" template="yourmodule/yourtemplate.phtml"></block>
        </reference>
</yourmodule_index_index>
...
</layout>

Step 2: Create a Block in your module

<layout version="0.1.0">
...
<customer_account>
	<reference name="customer_account_navigation">
            <action method="addLink" translate="label" module="yourmodule">
                <name>name</name>
                <path>controller_of_custommodule</path>
                <label>Your Label</label>
            </action>
        </reference>
</customer_account>
<yourmodule_default>
	<update handle="page_two_columns_left" />
	<reference name="left_first">
          <block type="customer/account_navigation" name="customer_account_navigation" before="-" template="customer/account/navigation.phtml">
            <action method="addLink" translate="label" module="customer"><name>account</name><path>customer/account/</path><label>Account Dashboard</label></action>
            <action method="addLink" translate="label" module="customer"><name>account_edit</name><path>customer/account/edit/</path><label>Account Information</label></action>
            <action method="addLink" translate="label" module="customer"><name>address_book</name><path>customer/address/</path><label>Address Book</label></action>
            <action method="addLink" translate="label" module="sales"><name>orders</name><path>sales/order/history/</path><label>My Orders</label></action>
            <action method="addLink" translate="label" module="wishlist" ifconfig="wishlist/general/active"><name>wishlist</name><path>wishlist/</path><label>My Wishlist</label></action>
            <action method="addLink" translate="label" module="yourmodule">
              <name>name</name>
              <path>controller_of_custommodule</path>
              <label>Your Label</label>
            </action>
          </block>
        </reference>
</yourmodule_default>
<yourmodule_index_index>
	<update handle="yourmodule_default" />
	<reference name="content">
            <block type="yourmodule/nameblock" name="yourmodule.nameblock" template="yourmodule/yourtemplate.phtml"></block>
        </reference>
</yourmodule_index_index>
...
</layout>

Step 3: Create a template and get data from your Block

By following our tutorial, you probably got SKUs from orders on your Magento website successfully.