{exp:store:orders}
<!-- order details -->
{/exp:store:orders}
The Orders tag prints any information about a single order, or multiple orders. The template variables are mostly the same as in the Checkout Tag, with a few extra variables available.
Specifies the order ID to retrieve. If you are allowing users to access
their order details via a URL segment, you should use this parameter in
conjunction with member_id="CURRENT_USER"
. This will prevent users
browsing private order data by guessing order IDs. Otherwise, allow
access to your orders using the order hash.
This parameter also accepts a pipe-separated list of order IDs, similar
to the channel entries tag (e.g. order_id="3|4|5"
or
order_id="not 99"
).
Retrieve an order by order hash. Every order has a unique order hash associated with it - this is the preferred method of allowing users to view their order details online, as it prevents people from viewing sensitive order data simply by guessing a valid order ID. Generally you would pull this from a segment variable.
Limit the orders to a specific member. If the constant CURRENT_USER
is
entered, only orders from the currently logged in member will display
(and if the user is not logged in, no orders will be returned).
You can use this parameter to prevent users from viewing each other’s order details, or to template a “My Orders” page.
Limit the orders displayed to only orders with a certain status. You can
search for multiple statuses by using the pipe separator (e.g.
order_status="new|shipped"
), or all orders without a certain status
using not
(e.g. order_status="not shipped"
).
Display only paid or unpaid orders. Defaults to display all orders.
Order the results. Valid values include order_date
, order_id
,
order_total
, order_status
, username
and screen_name
. Defaults to
order_date
.
The sort order of the results. Must be either asc
or desc
. Defaults
to desc
.
Limit the maximum number of orders displayed. The default is 100 orders.
Most variables available in the Checkout Tag are available here. In addition, you can use the following variables:
The screen_name for the member connected to an order.
The username for the member connected to an order.
The unique id assigned to an order.
The ID of the shipping method.
The name of the shipping method.
The class of the shipping method (if calculated by an extension).
The name of the order’s payment plugin.
The date the order was placed according to the server, as a unix timestamp.
The ip address from which the order was originally placed.
The current status of the order. Order Statuses are defined in the Control Panel.
The date the order had the current {order_status}
applied to it
according to the server, as a unix timestamp.
The member id of the user who applied the current {order_status} to the order.
Automated Order Status changes are made by member id 0 (System).
The current total amount paid on the order.
True if the order has been fully paid.
True if the order has not yet been fully paid.
The date the order was completely paid off, as a unix timestamp.
Equivalent to {order_total}
- {order_paid}
.
True if no orders match the current criteria. Equivalent to the
Channel Entries Tag’s {if no_entries}
conditional. This can be used
to display a 404 message when an order was not found, for example:
{exp:store:orders order_hash="{segment_3}"}
{if no_orders}
{redirect='404'}
{/if}
<!-- display order details here -->
{/exp:store:orders}